如果我有一个Git分支,我想要合并到我的主服务器中,并且我希望将该分支的日志历史记录合并到主服务器的日志历史记录中,我应该这样做:
git checkout master
git merge <branch> --no-ff
或:
git checkout master
git merge <branch> --ff
还是别的什么呢?在这一点上,Git文档(至少对我而言)并不是很清楚。
感谢。
答案 0 :(得分:1)
两种类型的合并都将保留历史记录。区别在于--no-ff
将始终创建显式合并提交,因此日志中将有一个条目,而gitk
等图形工具将显示分支和合并发生。 --ff
将执行快进合并,因此不会进行显式合并提交(除非分支不是主分支的直接后代)。
答案 1 :(得分:0)
git日志将持续使用这些命令中的任何一个,因为当您合并时,基本上是将所有提交压缩到另一个分支中。当您合并的分支自您进行更改后没有提交时,通常会使用快速转发,因此不会添加额外的合并提交,而是将更改添加到您的分支中,快速转发&#39;分支到你所做的最新提交。
如果文档没有帮助,这是一个很好的解释 http://ariya.ofilabs.com/2013/09/fast-forward-git-merge.html