Git交换机基支路
我们的项目有两个主要分支机构。第一个是稳定的(当前成功的构建),第二个是不稳定的(实验)。我从“不稳定”分支出来,开始开发一个功能。我现在需要从stable获得最新更新Git交换机基支路,git,git-rebase,Git,Git Rebase,我们的项目有两个主要分支机构。第一个是稳定的(当前成功的构建),第二个是不稳定的(实验)。我从“不稳定”分支出来,开始开发一个功能。我现在需要从stable获得最新更新 我想知道git rebase origin/stable是否是从stable获取最新更改的可行选项 是的,绝对可以,如果您愿意合并不稳定的更改,请在从稳定分支带来的提交之上逐个提交 通常,如果您只对不稳定分支进行了一些更改,特别是与对稳定分支所做的任何更改不同的文件中,那么重定基址相当简单。我相当喜欢它。现在,如果有大量更改,并
我想知道git rebase origin/stable是否是从stable获取最新更改的可行选项 是的,绝对可以,如果您愿意合并不稳定的更改,请在从稳定分支带来的提交之上逐个提交
通常,如果您只对不稳定分支进行了一些更改,特别是与对稳定分支所做的任何更改不同的文件中,那么重定基址相当简单。我相当喜欢它。现在,如果有大量更改,并且两个分支对相同的文件都有更改,那么最好使用
git merge
。另外,如果您关心这些事情,git-rebase
将更改您的历史记录,而git-merge
则不会更改历史记录。虽然您可以重新设置基础,但我强烈建议您进行合并,因为合并的过程会更简单,而且您的历史记录也会更改,除非您只对您的私有分支进行了少量提交
**编辑:刚刚意识到:不。你不能重新设置基址,因为这会重复
不稳定
上的提交,一旦你以后将你的工作与不稳定
或稳定
合并,就会造成可怕的混乱。git fetch
然后git merge
就是实现这一点的方法。由于您自己在另一个分支上,所以可以执行git pull
,然后执行git merge
。这将使您的分支能够干净地合并回稳定的分支(在您修复任何冲突之后)
要做到这一点,git checkout stable
然后git merge unstable
然后当您高兴时git推原始稳定
如果你能做一些非常酷的事情,比如在你改变事情之前从一个时间点开始从稳定状态合并你的代码,一次只添加一个提交。这对于远程工作(不需要访问主repo)来说非常方便,因为您希望使用希望干净的补丁重新获得代码。在您的情况下,我认为您希望分支中的
fetch
和merge
。然后,当你高兴时,你可以合并回稳定状态 检查这篇文章:我从不稳定创建了一个分支,现在想合并到稳定。在这种情况下,我希望git merge是个好主意。git merge
可能确实是个好主意,但您询问了git rebase
是否可行。这是一个可行的选择,取决于你的环境和你想要什么。谢天谢地,git-rebase
比这更聪明。如果一个提交被复制,第二次应用它时,它会被跳过,因为没有什么事情要做。不,那不是真的。由于他将在stable
上移动的提交不属于那里,因此他必须在重基期间解决冲突,这将破坏git重基
重复检测,因为它与补丁ID一起工作。但这甚至无关紧要,因为可以假设分支不会再次被重定基址,而是在那里的工作完成后被合并,然后您就保证了重复提交。