我已经长期以来都是一名快乐的SVN用户。最近,我发现自己经常与我的代码库断开连接,所以我考虑转换到Git。
考虑到我大多数项目都是独立完成的,我想知道Git对于小型项目是否过于复杂?是否会遇到很多问题?是否有非常不同的工作流程或者需要学习的曲线?
我已经长期以来都是一名快乐的SVN用户。最近,我发现自己经常与我的代码库断开连接,所以我考虑转换到Git。
考虑到我大多数项目都是独立完成的,我想知道Git对于小型项目是否过于复杂?是否会遇到很多问题?是否有非常不同的工作流程或者需要学习的曲线?
svn revert
意味着放弃未提交的更改。 git revert
意味着创建一个新的提交来撤销已有提交所引入的一个或多个更改,有点像 svn 的“反向合并”。与 svn 不同,许多 git 命令作用于整个仓库,而不仅仅是当前子目录。接近 svn revert
的 git 命令可能是 git checkout
。
是否更好用?我的意见是肯定的。但也有一些要小心的地方。
Git在小型项目中表现良好。
我在这里有一个小的Lisp实用程序库:https://github.com/pnathan/batteries。正如你所看到的,它很小。
你会发现Git的工作流程更加灵活,特别是在分支领域。学习曲线曾经非常陡峭,但现在有很多教程可供参考。
通常情况下,你可以轻松地使用Git完成你的svn工作流程:
workwork
commit -a -m "my message"
push
goto workwork
这样做可能无法充分发挥git的全部功能,但可以满足您的需求。
如果您已经熟练掌握SVN并经常在自己的电脑上使用它,为什么不设置一个本地SVN仓库呢?DVCS真正发挥作用的是在多人共同贡献同一项目时。如果您在正常的开发周期中没有遇到任何常见的Subversion问题,为什么要切换呢?
话虽如此,现在我使用DVCS(Mercurial)感觉更加愉快,即使是在单独的项目中也可能会使用它或Git。我们之所以转换是因为在SVN中存在合并问题,因此我们尝试了一个新系统。