我为什么从SVN转向GIT

来源:互联网 发布:路由器端口转发是什么 编辑:程序博客网 时间:2024/04/29 23:35

使用SVN已有一年半时间,不管是自己使用或者几个人一起开发,一直感觉svn非常好用,集中式的版本管理,清晰的版本号控制,使合并代码和了解开发进度非常容易。当时也稍微了解git,但是不能理解为什么要分布式的代码管理。

但是慢慢,使用svn的一些缺点也暴露出来,一是离线情况比较麻烦,我比较喜欢拿着笔记本单机码代码,而且是一个重度commit狂,经常写完一个模块就需要commit,对于需要时时连线的svn比较不方便。
第二是,当你commit上去之后,如果想撤回是非常不方便的,因为此时你的代码可能已经被别人pull,所以集中式没有给人反悔的机会,但你不能保证你的代码一直是最优的,其实,写完后一段时间,经常会想出更好的办法来实现。
如果是用git的话,上面两个问题都能迎刃而解,commit都是提交到本地库,在push的时候还可以选择需要commit的部分。只要掌握好commit和push的节奏,会让代码管理非常舒服。
还有比较重要的一点,svn和git的分支的概念是不一样的,git的分支是非常清晰的,你可以随时从一个分支切换到另一份分支,但是svn的分支比较模糊,经常会出现分支被遗忘。
利用git的分支合并,可以比较容易实现代码的code-review,比如在github上的pull-request,让代码的质量管理变得更容易,下一篇我会讲解code-review的好处和怎么利用github实现。

另:这一个月因为实习刚入职,很多东西都是新接触,没有时间写博客,其实积攒了很多东西,现在慢慢地适应了新的节奏,会把落下的博客补上。
原创粉丝点击