我已经很久了,一个快乐的svn用户。最近我发现自己经常与我的存储库断开连接,因此我正在考虑切换到Git。
鉴于我在大多数这些项目中独自工作。我很想知道Git是否对小项目有点过分了?还有很多陷阱吗?有一个非常不同的工作流程或一个伟大的学习曲线?
答案 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中的合并问题,我们进行了切换,因此存在一个合法的问题,导致我们尝试新的系统。