我正在寻找可以在git中运行的具体示例合并,但会导致SVN发生冲突。除此之外,您从未尝试过的艰难/痛苦的SVN合并样本Git也没关系。
我可以识别出与我的问题相关的四类合并:
我在这里错过了任何方案吗?
查找1-3的样本是微不足道的(在评论中找到2的样本,3作为我的答案的一部分,1几乎是任何rebase)。 是否有任何样本(看起来不是学术性的)成功的纵横交错合并,这将在SVN中失败?
答案 0 :(得分:6)
当然值得一提的是octopus
合并策略?
通常很难找到章鱼与最多8个分支合并的具体例子(最小值为3)。
然而,为了回答你的问题,或许更准确地说,我不认为提供一个人为的'这个在Git中有效但在SVN中没有'的例子会赢得你与你的同事/管理层的任何战斗。
我认为这很困难 - 而且我说的是根据我自己的经验,在搬迁公司之后从SVN过渡到Git - 在不了解两种工具的潜在“螺栓和螺栓”的情况下欣赏Git的真正力量。我不确定Linus本人是否可以向某人(街头典型的人)展示一个获胜的“电梯间距”,而不知道Git与SVN的内部运作。
有些人可能不同意这种观点,但我对Git的采用来自备受尊敬的人,称这是源控制的最佳工具;我信任他们,并且他们已被证明是正确的,因为我已经了解了Git如何在内部工作以及从高效工作流程中学到的知识。
使用SVN的持久记忆每天都在解决合并冲突。我曾经认为这是开发软件的正常部分,但并非必须如此。
答案 1 :(得分:3)
找到一个包含漂亮样本的article。仅创建“team b”分支以显示树与在两个分支中创建相同目录的冲突。以下是概述:
答案 2 :(得分:3)
好吧,real sample of strange and bad merge已在现实世界中捕获并注册
r9 | Badger | 2013-03-06 11:42:34 +0600 (Ср, 06 мар 2013) | 1 line
Changed paths:
M /branches/B2/src/add.txt
B2 changes in add.txt
------------------------------------------------------------------------
r8 | Badger | 2013-03-06 11:35:45 +0600 (Ср, 06 мар 2013) | 2 lines
Changed paths:
M /branches/B2
M /branches/B2/core.txt
A /branches/B2/src/add.txt (from /trunk/src/add.txt:7)
Merge from trunk to B2
------------------------------------------------------------------------
r6 | Badger | 2013-03-06 11:31:36 +0600 (Ср, 06 мар 2013) | 1 line
Changed paths:
M /trunk
M /trunk/core.txt
A /trunk/src/add.txt (from /branches/B1/src/add.txt:5)
Merge from B1 to trunk
------------------------------------------------------------------------
r5 | Badger | 2013-03-06 11:28:58 +0600 (Ср, 06 мар 2013) | 1 line
Changed paths:
M /branches/B1/core.txt
A /branches/B1/src/add.txt
B1 changes
------------------------------------------------------------------------
从b2到trunk的合并尝试(预期结果 - 将src/add.txt
的合并更改为现有文件的trunk版本)
>svn merge --dry-run file:///Z:/Repo/branches/B2
--- Merging r4 through r9 into '.':
C src\add.txt
G .
Summary of conflicts:
Tree conflicts: 1