这是我在功能分支中使用的简单工作流程。我只有1个提交,我想整齐地合并到master中(使用快速转发合并)。
git checkout -b feature
工作,工作,工作
git add .
git commit -m "finished feature"
git checkout master
git pull
git checkout feature
git rebase master
git checkout master
现在我应该git rebase feature
还是git merge feature
?在这种情况下有什么区别?哪个是最佳做法?
git push
如果您使用的是快进合并,那么这两个操作是等效的。 git rebase
检测何时不需要执行任何基准操作并避免执行任何基准操作,而进行快进合并只会将磁头更新到新位置。选择哪个唯一的时间是操作不是快进时。
在您的情况下,无论您执行哪种操作,都需要签出master
并运行git merge --ff-only feature
。这将执行操作的快进部分,如果不是快进则将失败。
执行git rebase feature
会将master
重新建立在feature
的基础上,在这种情况下不会产生您要查找的结果。