两天前我从master分支创建了一个新的分支。我的一个队友检查了几个主分支的更改,而不是新分支(它应该在主分支和新分支中)。现在,我想将新分支的起源移动到master中的最新提交。
我有提交和分支,如下所示:
C4 <-- New branch
/
C0 - C1 - C2 - C3 - C5 <-- Master
我想要的是:
C4 <-- New branch
/
C0 - C1 - C2 - C3 - C5 <-- Master
我尝试了git merge但它没有用。
答案 0 :(得分:3)
您需要git rebase
#On New Branch do:
git fetch origin master
git rebase origin/master
答案 1 :(得分:2)
另一种方法是将master分支合并到新分支。
#On New Branch do:
git fetch origin master
git merge origin/master
答案 2 :(得分:1)
重新绑定将分支从一个提交移动到另一个提交。在内部,git创建新的提交并将它们应用于指定的基础(它会重写您的项目历史记录)。
git checkout C4
git rebase master
当您完成功能后,您需要合并:
git checkout master
git merge C4
我建议使用-i参数检查交互式rebase:
git checkout feature
git rebase -i master
我通常喜欢在将功能分支合并到主代码库之前使用它来修改功能分支。 在提交官方项目历史之前,您确实可以确保一切正常。而对于其他人来说,他们会认为你以明智的方式处理了你的功能。 :)