Git自动合并到maual updatecommit上,从要合并的同一个分支中自动合并。

问题描述 投票:0回答:1

我有一个 branch A 我想把它和 branch B (更新),有一些代码文件提交到了 branch A 手动从 branch B. 现在,我想自动合并完整的chages从分支B到A,我有以下的疑问,疑惑 - 。

  1. 当我试图进行自动合并时,git显示新的代码文件additionalupdate,而这些文件已经存在于 branch A 作为之前手动更新提交的一部分。
  2. 如果继续合并它们,会不会有代码文件重复?
  3. 或者我应该做手动合并?但有很多变化。

如果不清楚,给我机会再解释一下。任何帮助将被感激。

git github git-merge branching-and-merging merge-conflict-resolution
1个回答
1
投票

这样做可能会很好,Git 也不会产生重复的代码。

当你进行合并时,Git会看两个头(你要合并的分支),再加上合并底层,通常是最近的commmit。 如果两个头的文件内容完全相同,那么合并就是小事一桩,Git 就会选择那个结果。 如果不一样,它就会尝试合并两边的改动。

当它这样做的时候,如果修改的是两个不同的代码区域,合并就会成功,因为Git会包含两边的修改。 如果是同一区域的改动,但它们是相同的改动,那么Git只是将相同的部分(一次)用于结果中。 如果你对同一个区域有不同的改动,那么Git会有冲突,你就得手动解决。

如果合并成功,没有冲突,那么Git很可能做了正确的事情,你会得到一个正常的结果,尽管有时合并确实会导致奇怪的行为,因为Git只对行进行操作,而不了解你的代码结构。 通常你可以通过构建和测试你的代码来检测,在典型的实践中,意外的行为很少发生。 如果双方有类似的改动,Git不会重复代码;最坏的情况是,它有冲突,让你弄清楚该怎么做。

如果合并有冲突,你就得手动解决。 如果你是通过GitHub使用pull request进行合并,它会在pull request中告诉你是否有冲突。 如果你是在命令行上做的,那你就只能试一试,看看效果如何。

© www.soinside.com 2019 - 2024. All rights reserved.