如果你仍然需要完成相同的步骤,那么git如何比svn merge更好地合并?

Jas*_*Jas 2 svn git merge gerrit

在阅读了如何和/或为什么在Git中合并比在SVN中更好? 我还是不明白.假设我有多个版本我正在维护(我需要维护所有版本,所有版本都在生产中):

  • V1.0
  • V1.1
  • V1.2
  • V1.3
  • V1.4

现在我提交了一个错误修复到v1.0(我需要在所有下一个版本中修复此错误).

现在在git和svn中我必须执行以下逻辑操作

  1. X = 1
  2. 合并到下一个分支v1.(x)
  3. 为v1检查一切正常(测试,构建).(x)
  4. x ++ goto(2)直到最后一个分支

使用git(或gerrit)的主要好处是什么?合并到下一个分支,提交,测试的逻辑操作是一样的!那有什么不同呢?(如果它只是次要的合并算法改进,对我来说并不重要.我在Subversion中有一个相当不错的自动合并解决冲突.另外我不介意检查分支v1.1在subversion中进行合并因为我有一些实用程序可以帮助我这样做,所以我没有时间投入其中).

Kur*_*tal 5

因为git不像其他版本控制系统那样存储增量,所以它会在每次提交中存储每个文件的完整内容(以非常压缩和有效的方式,但为了保持简单,请记住它不是存储deltas,抱歉重复,但这就是为什么大多数新手git变得如此困惑).

当它必须合并时,在每个分支的最后状态/快照和公共基础祖先之间进行三向合并,而不是尝试将一个分支的最后100个提交的增量/差异(具有更改的上下文)应用到另一个分支.

方式更简单的方法,它的方式更有效,它不会给用户带来100个冲突.