我们的项目有2个主要分支。第一个是稳定的(当前成功的构建),第二个是不稳定的(实验)。我从不稳定分支出来并开始研究功能。我现在需要从stable获得最新的更新。
我想知道 git rebase origin / stable 是否可以从stable中获取最新的更改。
答案 0 :(得分:0)
是的,绝对的,如果你可以不必在稳定分支提交的提交之上合并你的不稳定更改commit-by-commit。
通常,如果您只在unstable分支中进行了一些更改,特别是如果它们位于与对stable分支所做的任何更改不同的文件中,则rebasing相当简单。我喜欢它。现在,如果存在大量更改,并且两个分支都对相同文件进行了更改,则最好使用git merge
。此外,如果您关心此类事件,git rebase
会更改您的历史记录,而git merge
则不会。
答案 1 :(得分:0)
虽然你可以改变,但我强烈建议合并,因为这个过程往往更简单,你的历史will not be a lie - 除非你只在你的私人分支上做了一些提交。
**编辑:刚刚意识到:不,你不能改变,因为这会重复unstable
上的提交,并在你将工作与unstable
或stable
合并后造成可怕的混乱以后。
答案 2 :(得分:0)
git fetch
然后git merge
是达到此目的的方法。当您在自己的不同分支上时,可以git pull
然后git merge
。这将使您的分支能够完全合并回稳定的分支(在您修复任何冲突之后)。
要做git checkout stable
然后git merge unstable
,然后当你快乐git push origin stable
。
如果您rebase,您可以做一些非常酷的事情,例如在您更改内容之前从稳定版本合并代码,并且一次添加单个提交。这对于远程工作(无法访问主仓库)非常方便,当您希望使用您想要清理的补丁重新获取代码时。在您的情况下,我认为您的分支中的fetch
和merge
就是您想要的。当你快乐时,你可以合并回稳定。