关于git和svn的比较,求大家给点看法。

2013-10-17 10:03:29 +08:00
 jtn007
自己平时都用的git,svn用得比较少。网上也看了各种比较的文章,总感觉还是比较抽象。大家实际运用中比较明显的一些对比求大家分享一下,谢谢~
11327 次点击
所在节点    程序员
48 条回复
harryxu
2013-10-17 10:05:41 +08:00
现在还是比较推荐git,分支,分布式,不依赖网络等。
newghost
2013-10-17 10:12:42 +08:00
svn比较适合团队集中式管理,统一一套代码
git比较适合开源分散式管理,每人一套代码
BOYPT
2013-10-17 10:15:40 +08:00
svn是上一代SCM的产物。

SVN基础结构脱胎于磁盘目录树,svn的一切分支/tag/合并均基于文件树结构操作,代码管理结构和源码目录结构混合在一起。中央管理,依赖网络。

git是重新设计的DSCM概念,基础结构基于commit树,一切操作都基于抽象的commit树,管理结构和源码结构彻底分离(但也因此不能像svn仅checkout出一个子目录)。分布式管理,网络是可选的。
FrankFang128
2013-10-17 10:24:19 +08:00
我一直没用过SVN的分支,难用死了。
FrankFang128
2013-10-17 10:24:49 +08:00
Git的分支,秒懂,秒用。
xlmo
2013-10-17 10:30:52 +08:00
最明显的一点就是无网也能commit.
BOYPT
2013-10-17 10:34:40 +08:00
@FrankFang128 SVN的“分支”,就是给目录复制一份,在复制品上修改……需要合并分支就是复制回去trunk…… SVN的概念因为足够原始,挺受一些人欢迎的
jtn007
2013-10-17 10:35:02 +08:00
的确git的分支很好用,还有分布式管理就可以基于本地仓库进行修改,还有什么比较大的不同么?
leopku
2013-10-17 10:40:15 +08:00
svn工作时需要连上svn server
而git完全可以在离线的状态下进行版本更新,等在线时再将离线的版本push到共享库里

另外,git做分支很方便。可以做本地分支,在本地做试验性开发,开分支很方便。
svn要开分支就会同步到服务器上。
verfino
2013-10-17 10:55:27 +08:00
svn 需要你随时连接 server 才能工作, git 不需要 等有网络的时候 push 上去就好
另外 git 基于本地仓库的离线管理非常好用
582033
2013-10-17 11:08:43 +08:00
git的暂存区 本地分支 真心赞.

公司用svn,自己一直都是用git-svn来做替代品.
clino
2013-10-17 11:11:10 +08:00
@leopku
@verfino svn的仓库一样可以在本地文件目录里存放的,所以重点不是有网络无网络的时候是否可以提交,重点在svn是集中式的,仓库只有1个;而git这种分布式的,到处都是仓库
FrankFang128
2013-10-17 12:10:50 +08:00
@BOYPT 怎么看都是Git比较容易理解,直接checkout新分支。虽然它的实现其实更复杂,但接口够简单。
tuoxie007
2013-10-17 12:17:26 +08:00
补一句,能提交github
tuoxie007
2013-10-17 12:17:45 +08:00
还能submodule
BOYPT
2013-10-17 13:07:56 +08:00
@tuoxie007 一旦接受了新式的良好设计理念就觉得svn那种方式很恶心了……
welsonla
2013-10-17 13:13:03 +08:00
我的一些感受
1.本地提交,为完成的代码可以用版本控制,同事不影响线上代码
2.brach简单,方便
3.submodule可以维护一个核心,如果有多个项目,可以保持核心代码始终统一
4.只在根目录下有一个.git目录,不会每个目录下面都有一个.svn目录
5.web客户端的gitlab界面清新,便于审阅别人代码
welsonla
2013-10-17 13:14:32 +08:00
Orz,抱歉,好多错别字
"1.本地提交,未完成的代码可以用版本控制,同时不影响线上代码"
ugoa
2013-10-17 13:37:36 +08:00
All cool kids are using Git.
xdeng
2013-10-17 13:47:46 +08:00
git 敲命令 记命令 没界面 适合无界面的工作者吧

不过好像已经有界面的了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/85842

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX