ant*_*009 20 git version-control
git版本1.7.5.4
我有大约5个分支机构.全部来自同一个初始分支.
我想合并两个分支.比如,branch1和branch2.这些分支有很多不同之处.
我目前正在研究branch1,并且刚刚意识到我在branch2中实现了一些我希望在branch1中实现的更改.
合并的最佳方式是什么?
checkout branch2 and merge branch1
Run Code Online (Sandbox Code Playgroud)
要么
checkout branch1 and merge branch2
Run Code Online (Sandbox Code Playgroud)
或者,您需要签出哪个分支以与另一个分支合并?
Ada*_*ruk 18
通常,如果两个分支都是主题或功能分支,则无关紧要.
但是,如果您有一个集成分支或标记已发布内容的分支,那么您肯定希望使用长期集成分支作为签出的分支并将另一个分支合并到其中.
这样做的原因是合并提交将第一个父提交标记为来自主分支的提交.现在,您对该分支的历史记录的树形规范很容易.你可以简单地找到这个分支中第4个最后的提交
git show head~4
Run Code Online (Sandbox Code Playgroud)
如果您从中间的某个位置合并其他分支,则必须以另一种方式显式切换到合并完成的第二个提交:
git show head^^2^^
Run Code Online (Sandbox Code Playgroud)
由于其他原因,这可能会导致主要分支出现问题; 将它们合并到主题或功能分支中称为"反向合并"并不是一个好主意.我记得当贡献者做到这一点时,Linus Torvalds吹响了他的顶峰.它不允许他干净地分离他想要合并的主要版本的功能,因为功能分支会带来旧的测试合并,其中包括他不再需要的东西.
所以最后,如果一个分支更重要并且不仅仅是一个功能,请检查它并从那里合并.您将能够轻松地查看历史记录,因为您知道它的第一个父级始终是该分支之前的位置.如果你不这样做,你将不得不依赖于阅读合并提交消息,而这并不是那么有趣.:)
我写过一篇关于BpF的文章,该文章展示了一种严格保持分支机构组织的方法:http://dymitruk.com/blog/2012/02/05/branch-per-feature/
归档时间: |
|
查看次数: |
3554 次 |
最近记录: |