【问题标题】:Git merge - trivial merge?Git 合并 - 微不足道的合并?
【发布时间】:2010-09-23 22:39:22
【问题描述】:

如果 base 和 source 有相同的文件内容,而目标分支/repo 有一些其他文件更改,它保留哪些内容,源文件还是目标文件?

详细解释

       A 
       | 
       B 
      / \
     C   D 

假设在 A->B 边缘添加了一个文件,然后在 B->C 中再次删除了一个文件,而在 B->D 边缘单独保留了一个文件。
我们想合并 C 和 D。

如果共同祖先是A,在合并C和D时没有变化(所以A,C没有文件,B,D有文件)。

如果 C(目的地)从 D 合并会发生什么?

如果 D(目的地)从 C 合并会发生什么?

【问题讨论】:

  • 对不起,伙计们,我认为我没有按预期解释我的问题,我的错...重新措辞...再次...我对此有一些疑问,希望您能帮助我澄清。
  • 共同的祖先是B。但是即使是A,两个流(A-B-C和A-B-D)都有相同的新文件插入,所以没有问题。你必须记住,git 跟踪变化,而不是前后条件。

标签: git git-merge conflict


【解决方案1】:

合并是对称的(除了合并最终在一个分支或另一个分支上)。它将应用双方的更改并报告在此过程中遇到的任何冲突更改。在这种情况下,由于只有一侧发生了变化,因此最终结果看起来与发生变化的一侧相同。

顺便说一句,您可以非常安全地尝试这些操作,看看它们会做什么;如果事情变成梨形,只需undo。不过,请务必注意链接文章底部的注意事项。

【讨论】:

  • 谢谢 :),但我的问题是我没有按预期用语言表达我的问题....在我的问题中添加了更多内容。
  • 我的回答仍然有效。请参阅我对您修改后的问题的评论。
  • +1 但是指向 undo 文章的链接已损坏 - 你有替代方案吗?
  • @5arx:我将链接修改为我认为(我不是 100% 确定。)是新站点上的原始文章。
  • 链接再次断开,现在应该指向wordpress.storelocatorplus.com/undoing-mistakes-easily-in-git
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 2012-08-07
  • 1970-01-01
  • 2015-05-10
  • 2021-04-25
相关资源
最近更新 更多