修改第三方代码并在必要时合并更新 - Git或SVN?

时间:2012-01-20 09:59:27

标签: git svn

最近几天,我试图设置一个适当的本地SVN(使用svn:externals),以便能够:

  • 拥有本地SVN存储库(简单)
  • 跟踪我对第三方代码所做的更改(简单)
  • 不时合并官方更新(远程SVN回购)

使用SVN,可以使用svn:externals设置为单独的早午餐,该早午餐会不时合并到主干。

我必须承认我仍然有实施这一策略的问题,但问题是:

用Git 实现会更简单/更好吗? 第三方代码也有Git repo。 由于我现在设置了一个本地CVS,我可以使用任何(Git / SVN)。

你会推荐什么?如果用git做,我会看什么命令?我在某处读到Git更容易合并,那么它是否能更好地满足我的需求呢?

我很感激你的意见。

p / s /我在 Linux

3 个答案:

答案 0 :(得分:2)

使用SVN,您无法跟踪对第三方存储库所做的更改。我知道没办法那样做。 (除非我弄错了,svn:externals不会这样做。svn:externals功能只允许您从第三方存储库中选择特定版本,但如果不提交,则无法在其中提交更改外部存储库。)

Git旨在完全 - 你创建一个fork,并从上游合并更改。实际上,Git默认使用这种方式。它不需要额外的配置。如果主项目是Git,您可以使用git submodule作为svn:externals的粗略对等。

答案 1 :(得分:-1)

由于您在本地使用它,您可以使用基于文件的SVN Tortoise ...问候

答案 2 :(得分:-1)

如果您转移到DVCS(其中合并更聪明,是)并尝试使用第一个DVCS,请不要使用Git,选择Mercurial(使用MQ或分支/匿名或命名/)