反对从svn切换到Git版本控制的任何理由?

时间:2011-07-27 23:56:45

标签: git svn migration git-svn

我已经很久了,一个快乐的svn用户。最近我发现自己经常与我的存储库断开连接,因此我正在考虑切换到Git。

鉴于我在大多数这些项目中独自工作。我很想知道Git是否对小项目有点过分了?还有很多陷阱吗?有一个非常不同的工作流程或一个伟大的学习曲线?

4 个答案:

答案 0 :(得分:6)

我绝对建议进行切换,但请注意,这需要一些工作。如果你发现自己在想“哦,[这个git概念]就像[那个svn概念]!”要小心,因为它实际上可能是非常不同的。例如,svn revert表示丢弃未提交的更改。 git revert表示创建一个新的提交,撤消由一个或多个现有提交引入的更改,类似于svn“反向合并”。最接近svn revert的git命令可能是git checkout。此外,许多git命令作用于整个存储库,而对于svn背景,您可能希望它们仅适用于当前子目录。

git更好吗?恕我直言,绝对是的。但是有一些陷阱吗?是。

答案 1 :(得分:2)

我认为不从SVN切换到git的唯一原因是你需要学习新系统的时间。当然,如果这是一个非常有力的理由,我们仍然会使用穿孔卡。恕我直言,熟悉是SVN唯一的目标。

答案 2 :(得分:0)

Git适用于小型项目。

我在这里有一个小的Lisp实用程序库:https://github.com/pnathan/batteries。你可以说,它很小。

您会发现工作流程更加灵活,特别是在分支领域。学习曲线过去一般都很差,但那里有很多教程。

通常你可以在git中轻松完成你的svn工作流程:

workwork

commit -a -m "my message"

push

goto workwork

这不会使用git的全部功能,但它会满足您的需求。

答案 3 :(得分:0)

如果您已经熟练使用SVN而且经常自己使用它,为什么不设置本地SVN存储库? DVCS真的很闪耀着为同一个项目做出贡献的人群。如果你没有在正常的开发周期中遇到任何常见的Subversion问题,为什么要切换?

话虽这么说,我现在使用DVCS(Mercurial)并且甚至可能在单独项目上使用它或Git时会更开心。由于SVN中的合并问题,我们进行了切换,因此存在一个合法的问题,导致我们尝试新的系统。