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

2013-10-17 10:03:29 +08:00
 jtn007
自己平时都用的git,svn用得比较少。网上也看了各种比较的文章,总感觉还是比较抽象。大家实际运用中比较明显的一些对比求大家分享一下,谢谢~
11556 次点击
所在节点    程序员
48 条回复
sdpfoue
2013-10-18 12:19:30 +08:00
@zythum git的3种流行工作流除了集中式,剩下2种用svn怎么实现。参考:http://wangyan.org/blog/git-work.html
git的cherry-pick在svn中怎么实现
不装其它插件git的bisect在svn中怎么实现
等等等等

更不用说被人说最多的分支创建切换和合并。svn的merge不做特殊处理,仅当做是普通的一次提交,所有merge的信息和分支历史信息全部需要额外记录。svn的merge和git根本就不是一回事。参见下面3个链接:
http://stackoverflow.com/questions/2471606/how-and-or-why-is-merging-in-git-better-than-in-svn/2472251#2472251
http://stackoverflow.com/questions/2692950/whats-the-difference-between-svn-and-git-for-merging
http://stackoverflow.com/questions/2475831/merging-hg-git-vs-svn/2477089#2477089

觉得git不比svn有优势只能说是对git还不够了解。甚至对svn本身也没什么了解
zythum
2013-10-18 13:04:42 +08:00
cherry-pick 是合并一些commit 也不是全部。 svn可以用 版本差异merge来处理,提交分支某几个版本的差异合并。
bisect 只是工具么 用svn-bisect也可以的。插件实现就不算功能了啊。

svn和git内部版本树处理就不一样。当然不是一回事情了。
git 却是在易用上做的好一些。还能规避很多错误,但是功能大部分都是一样可以用的。
jinwyp
2013-10-18 13:58:37 +08:00
sdpfoue
2013-10-18 16:57:34 +08:00
@zythum 如果约定,配合,使用得当,版本管理工具也是可以省掉的
jtn007
2013-10-18 17:25:26 +08:00
@sdpfoue 但是这个所谓的约定,配合,使用得当应该要相当理想化了吧,而且肯定会有很多额外的工作量
sdpfoue
2013-10-18 18:20:03 +08:00
@jtn007 那是自然
recih
2013-10-18 21:00:13 +08:00
如果是管理代码的话,如果你可以自由选择的话,没有什么理由不用 git。绝大部分 svn 能做到的 git 都能做到而且做的更好。而 git 能做到的,svn 做不到或者不好做。

但有一个功能是 git 做不到的,那就是 svn lock,这在有些情况下非常有用(例如管理doc,xls,psd,fla之类需要多人协作的二进制文件)
booty
2018-03-29 14:49:16 +08:00
个人更喜欢 SVN
推荐你一个在线 SVN 仓库:svn.gzyunke.cn

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

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

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

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

© 2021 V2EX