从svn转向Git版本控制有什么不利因素吗?

4

我已经长期以来都是一名快乐的SVN用户。最近,我发现自己经常与我的代码库断开连接,所以我考虑转换到Git。

考虑到我大多数项目都是独立完成的,我想知道Git对于小型项目是否过于复杂?是否会遇到很多问题?是否有非常不同的工作流程或者需要学习的曲线?


一个好的部分取决于所使用的环境 - 有时候没有选择(可能不是SVN,而是像VSS这样的其他东西) - 另一个好的部分则取决于个人偏好。既然这听起来像是个人危机/成长期,那就尝试一下git(也许还有hg和monotone这些分布式工具),看看哪个适合你。 - user166390
1
对于您的情况,唯一的缺点是如果您想花时间学习新的版本控制系统。 - Andy
4个回答

6
我强烈推荐你进行转换,但请注意需要付出一些努力。如果你发现自己在想“哦,[这个git的概念]就像[那个svn的概念]!”要小心,因为实际上可能非常不同。例如,svn revert 意味着放弃未提交的更改。 git revert 意味着创建一个新的提交来撤销已有提交所引入的一个或多个更改,有点像 svn 的“反向合并”。与 svn 不同,许多 git 命令作用于整个仓库,而不仅仅是当前子目录。接近 svn revert 的 git 命令可能是 git checkout

是否更好用?我的意见是肯定的。但也有一些要小心的地方。


2
我认为不切换从SVN到git的唯一原因是你需要学习新系统所需的时间。当然,如果这是一个非常强有力的理由,我们仍然会使用穿孔卡。在我看来,熟悉性是SVN唯一的优势。

0

Git在小型项目中表现良好。

我在这里有一个小的Lisp实用程序库:https://github.com/pnathan/batteries。正如你所看到的,它很小。

你会发现Git的工作流程更加灵活,特别是在分支领域。学习曲线曾经非常陡峭,但现在有很多教程可供参考。

通常情况下,你可以轻松地使用Git完成你的svn工作流程:

workwork

commit -a -m "my message"

push

goto workwork

这样做可能无法充分发挥git的全部功能,但可以满足您的需求。


0

如果您已经熟练掌握SVN并经常在自己的电脑上使用它,为什么不设置一个本地SVN仓库呢?DVCS真正发挥作用的是在多人共同贡献同一项目时。如果您在正常的开发周期中没有遇到任何常见的Subversion问题,为什么要切换呢?

话虽如此,现在我使用DVCS(Mercurial)感觉更加愉快,即使是在单独的项目中也可能会使用它或Git。我们之所以转换是因为在SVN中存在合并问题,因此我们尝试了一个新系统。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接