我有一个主分支,它是由另一个开发人员分支的,然后他添加了功能。同时,我对一些相同的文件进行了更改。虽然行上没有直接冲突,但我想知道如何使用不同的方法将其他分支合并回master,并将冲突降至最低。
ASCII艺术可视化:
A-B-C-D
\
1-2-3我最好的做法是签出提交A,将3处的分支合并回去,然后重新应用B到D中的更改?或者我应该把3合并回D?或者我确定我错过了更好的方式。
我是git的新手,我想我已经掌握了它的诀窍,但我只是想确保我能正确地使用它。
发布于 2012-08-24 17:05:58
你所描述的--检查A,合并到1-3中,然后应用B-D-is一种称为rebasing的标准Git技术。假设没有不能自动解决的冲突,您可以使用一条命令来完成:
git rebase --onto {commit 3} {commit A} {commit D}如果在做rebase时有冲突,Git会告诉你如何解决它们。
然而,正常的Git工作流程只是将分支合并在一起。除非您有什么理由不这样做,否则我建议您只做合并。
合并更准确地反映了开发过程;这意味着您可以查看自己的历史,准确地了解特性是如何开发的,然后合并到主代码中。Rebasing使你的历史看起来很干净;有时这是有用的,但它确实隐藏了事情是如何做的。
发布于 2012-08-24 08:12:04
假设A-B-C-D的原始分支名称是"orig“。你在"3",分支名为"master“。试试这个:
git rebase orighttps://stackoverflow.com/questions/12101476
复制相似问题