我有一个 branch A
我想把它和 branch B
(更新),有一些代码文件提交到了 branch A
手动从 branch B
. 现在,我想自动合并完整的chages从分支B到A,我有以下的疑问,疑惑 - 。
branch A
作为之前手动更新提交的一部分。如果不清楚,给我机会再解释一下。任何帮助将被感激。
这样做可能会很好,Git 也不会产生重复的代码。
当你进行合并时,Git会看两个头(你要合并的分支),再加上合并底层,通常是最近的commmit。 如果两个头的文件内容完全相同,那么合并就是小事一桩,Git 就会选择那个结果。 如果不一样,它就会尝试合并两边的改动。
当它这样做的时候,如果修改的是两个不同的代码区域,合并就会成功,因为Git会包含两边的修改。 如果是同一区域的改动,但它们是相同的改动,那么Git只是将相同的部分(一次)用于结果中。 如果你对同一个区域有不同的改动,那么Git会有冲突,你就得手动解决。
如果合并成功,没有冲突,那么Git很可能做了正确的事情,你会得到一个正常的结果,尽管有时合并确实会导致奇怪的行为,因为Git只对行进行操作,而不了解你的代码结构。 通常你可以通过构建和测试你的代码来检测,在典型的实践中,意外的行为很少发生。 如果双方有类似的改动,Git不会重复代码;最坏的情况是,它有冲突,让你弄清楚该怎么做。
如果合并有冲突,你就得手动解决。 如果你是通过GitHub使用pull request进行合并,它会在pull request中告诉你是否有冲突。 如果你是在命令行上做的,那你就只能试一试,看看效果如何。