Git将分支合并为主
如果你有一个分支,你把它从主控中分离出来,然后开发出你的功能......当谈到融入主控时,我听到了两种不同的方法:
任何人都可以告诉我哪种方法更好,如果第一种方法有实际益处?
或者如果有更好的方法?
假设你从master创建feature-sev,同时我创建了feature-eric。 我的分支修改了与您的文件相同的文件; 实际上,它恰好以我们的git客户端不够聪明的方式重叠。 我先完成开发并合并我的更改。
在这种情况下,你不可避免地会被提示解决冲突。
CONFLICT (content): Merge conflict in stackoverflow.html
Automatic merge failed; fix conflicts and then commit the result.
如果与(1)一起使用,将主合并到分支并确保一切看起来不错,您将通过feature-sev中的合并提交来解决冲突。 如果您在解决过程中犯了错误,您可以将它们回滚,而无需对主人进行任何直接修改。 这很好。
如果你使用(2),你将通过直接向master发送的合并提交来解决冲突。 如果你犯了什么错误,你会打破主人。 这不好。
我想这取决于;-)
有些事情要考虑:
master
合并到master
合并可能会很有用。 如果不是,如果您要删除它,合并到功能分支没有太大的意义。 master
分支的本地工作副本吗? 如果不是,则应避免将代码合并到master
,这可能会导致需要手动解决的大量冲突。 如果没关系,继续。 一般来说,我认为这取决于你如何使用git。
由于我通常只是暂时使用功能分支,并且在成功完成功能并将它们合并到master
后删除它们,我通常会直接合并到master
然后删除其他分支。
另一方面,我可以想象,可能会出现相反的情况。 但只要没有强烈的理由,我会尽量避免它。 一个合并就足够了;-)。
理论上,没有区别。 您在一个分支中有一组更改,您将与另一个分支中的一组更改相结合。 这些变化最终在何处并不重要。
在实践中,最好将更改合并到功能分支中,因为它为您提供了解决冲突的独立位置。 如果功能分支长时间处于开发阶段,这一点尤其重要,因为在第一次提交之后会经常发生微妙的冲突。
最好的方法是定期更新从主人到功能分支,减少功能开发结束时发生冲突的可能性。
链接地址: http://www.djcxy.com/p/68179.html