我们的项目有两个主要分支。第一个是稳定的(当前成功构建),第二个是不稳定的(实验)。我从不稳定的地方分支出来,开始研究一个功能。我现在需要从 stable 获取最新更新。
我想知道git rebase origin/stable是否是从 stable 获取最新更改的可行选项。
我们的项目有两个主要分支。第一个是稳定的(当前成功构建),第二个是不稳定的(实验)。我从不稳定的地方分支出来,开始研究一个功能。我现在需要从 stable 获取最新更新。
我想知道git rebase origin/stable是否是从 stable 获取最新更改的可行选项。
是的,绝对是,如果您同意在从稳定分支带来的提交之上逐个提交合并不稳定的更改。
通常,如果您只在不稳定分支中进行了一些更改,特别是如果它们与对稳定分支所做的任何更改位于不同的文件中,那么变基相当简单。我比较喜欢。现在,如果有一堆更改,并且两个分支都对同一个文件进行了更改,那么使用git merge
. 此外,如果你关心这些事情,git rebase
会改变你的历史,而git merge
不会。
虽然你可以变基,但我强烈建议合并,因为合并的过程往往更简单,而且你的历史不会是谎言——除非你只在你的私有分支上做了少数提交。
**编辑:刚刚意识到:不,你不能变基,因为unstable
一旦你合并你的工作unstable
或stable
以后,这会重复提交并导致可怕的混乱。
git fetch
那么git merge
就是实现这一目标的方法。当您自己在不同的分支上时,您可以这样做git pull
,然后git merge
。这将使您的分支能够干净地合并回稳定的分支(在您解决任何冲突之后)。
当你开心的时候git checkout stable
再去做。git merge unstable
git push origin stable
如果你rebase,你可以做一些非常酷的事情,比如在你改变之前的某个时间点从 stable 合并你的代码,并且一次添加单个提交。这对于远程工作(无法访问主存储库)非常方便,当您希望使用您想要清理的补丁重新获取代码时。fetch
在你的情况下,我认为merge
在你的分支中是你想要的。然后,当您高兴时,您可以合并回稳定。