相关疑难解决方法(0)

如何和/或为什么在Git中合并比在SVN中更好?

我在一些地方听说分布式版本控制系统闪耀的主要原因之一是比SVN这样的传统工具更好地融合.这实际上是由于两个系统如何工作的固有差异,或者像Git/Mercurial 这样的特定 DVCS实现是否只有比SVN更聪明的合并算法?

svn git version-control merge mercurial

398
推荐指数
7
解决办法
6万
查看次数

合并:Hg/Git与SVN

我经常读到Hg(和Git和......)在合并方面比SVN更好但是我从未见过Hg/Git可以合并SVN失败的地方(或者SVN需要人工干预的地方)的实际例子.您可以发布一些分支/修改/提交/ ....-操作的逐步列表,显示SVN在Hg/Git愉快地移动时会失败的位置吗?实用,非常特殊的情况请...

一些背景:我们有几十个开发人员在使用SVN进行项目,每个项目(或一组类似项目)都在自己的存储库中.我们知道如何应用发布和功能分支,所以我们不会经常遇到问题(即,我们一直在那里,但我们已经学会克服Joel的问题 "一个程序员给整个团队造成创伤"或"需要六个开发人员两周才能重新整合分支机构").我们的发布分支非常稳定,仅用于应用错误修正.我们的中继线应该足够稳定,能够在一周内创建发布.我们还有一些开发人员或开发人员可以使用的功能分支.是的,它们在重新集成后被删除,因此它们不会使存储库混乱.;)

所以我仍然试图找到Hg/Git优于SVN的优势.我很想获得一些实践经验,但目前还没有任何我们可以移动到汞/ GIT中还没有更大的项目,所以我坚持用只含有少量由文件小型人工玩的项目.而且我正在寻找一些你可以感受到Hg/Git令人印象深刻的力量的案例,因为到目前为止我经常读到它们但却未能自己找到它们.

svn git merge mercurial dvcs

143
推荐指数
5
解决办法
2万
查看次数

真的,在Git中合并的一个具体例子比SVN更容易吗?

Stack Overflow问题如何和/或为什么在Git中合并比在SVN中更好?是一个很好的问题,有一些很好的答案.然而,它们都没有显示一个简单的例子,其中Git中的合并比SVN更好.

关于这个问题将被重复关闭的可能性是什么

  1. 具体的合并方案
  2. SVN有多难?
  3. 如何在Git中更容易合并?

几点:

  • 对于什么是DVCS而言,没有任何理念或深刻的解释.这些都很棒,但是我不希望他们的细节混淆了这个(恕我直言)的答案
  • 我现在不关心"历史性的SVN".请将现代G​​it(1.7.5)与现代SVN(1.6.15)进行比较.
  • 请不要重命名 - 我知道Git会检测重命名和移动,而SVN则不会.这很好,但我正在寻找更深层次的东西,以及不涉及重命名或移动的示例.
  • 没有rebase或其他'高级'Git操作.请告诉我合并.

svn git merge

58
推荐指数
3
解决办法
8142
查看次数

我们能否最终转向企业软件中的DVCS?SVN仍然是发展的"必备"吗?

Git/Mercurial越来越受欢迎.我看过很多文章比较SVN和Git/Mercurial,但我想知道是否真的有任何理由继续使用SVN.现在Git/Mercurial似乎有很多工具可以帮助推广其企业采用.

有没有理由继续使用SVN?Mercurial/Git终于为公司采用做好了准备吗?

svn git version-control mercurial

31
推荐指数
8
解决办法
6525
查看次数

dvcs(git/mercurial)如何分支和合并支持比svn更好?

关于dvcs系统的大量文章声称优越的分支和合并支持是从svn迁移到dvcs系统的一个原因.这些系统究竟如何以不同的方式进行分支和合并以使其更好?

svn git version-control mercurial dvcs

13
推荐指数
3
解决办法
1093
查看次数

git的合并冲突解决方案比其他SCM和合并工具更有效吗?

git合并冲突解决方案本身是否比其他SCM(CVS,Subversion等)以及独立的合并工具更有效率?如果是这样,为什么?

澄清:这里我对算法本身更感兴趣 - 它与普通的diff3方法有什么不同?
一些工具声称更聪明(例如Guiffy),是否值得插入作为git合并工具?git是否更聪明地找出在文件内或跨文件移动的文本?(而不是报告嘈杂的冲突..我对Linus的谈话有一种模糊的印象).

背景:刚刚做了一个巨大的合并使用git-svn,导致了一半的冲突比我得到的普通svn merge(第一次合并没有跟踪)..所以我想了解原因.


类似的Qs/As周围,但它们更多的是关于过程的大局,以及合并如何更自然地适应.为此,git"优化合并"(而不仅仅是分支),它实际上意味着:

  1. 减少手动冲突 - 更好的自动分辨率算法(例如,重命名处理得很好)
  2. 更安全的操作 - 自动解决更多/只有真正的冲突和更少的错误警报
  3. 更快的操作 - 比如,由于精益和平均对象模型
  4. 更好的工具 - 这使得体验减少痛苦,例如基于DAG的合并跟踪,合并工具,历史查询/可视化,藏匿,变基等...
  5. 别的
  6. 以上的组合

?现在,我最感兴趣的是1和2.

git version-control merge conflict 3-way-merge

8
推荐指数
1
解决办法
1334
查看次数

SVN支持历史合并,那么Mercurial如何更好?

可能重复:
合并:hg/git与svn

嗨,

我是SVN的长期用户,并且在一般的mercurial和分散版本控制系统方面已经听到了很多关于我的事情.我所知道的主要功能是Mercurial中的合并更容易,因为它记录了每个合并的信息,因此每个连续的合并都知道以前的合并.

现在正如红皮书中所述,在与合并有关的部分中,SVN已经通过mergeinfo支持了这一点.现在我还没有真正使用过这个功能(虽然我想,我们的repo版本不够新)但是这个SVN功能与Mercurial提供的特别不同吗?

对于那些不知道svn中历史合并的建议工作流程的人是这样的:

  1. 从开发主干分支做自己的事情.

  2. 定期将更改从主干合并到您的分支以保持最新.

  3. 完成mergeinfo后合并以平滑过程.

没有历史数据合并这是一场噩梦,因为比较严格依赖于文件中的差异,并没有考虑到路上采取的步骤.因此,当您合并回来时,开发主干中的每个更改都会使您进一步陷入冲突.

现在我想知道的是:

与SVN中的mergeinfo相比,使用Mercurial合并是否提供了显着的优势,或者这只是一些关于什么的热点?

有没有人在SVN中使用了mergeinfo功能,实际上它有多好?

svn merge workflow mercurial

3
推荐指数
1
解决办法
409
查看次数

标签 统计

git ×6

svn ×6

mercurial ×5

merge ×5

version-control ×4

dvcs ×2

3-way-merge ×1

conflict ×1

workflow ×1