newghost
V2EX  ›  程序员

各位公司用 SVN 的多还是用 GIT 做版本控制的多?

By newghost at 2018 年 5 月 11 日 · 24131 次点击

个人感觉不适合大团队,每个人都喜欢 commit 到本地,然后还要 merge 半天。

每个人在本地 commit 一堆代码后,Git 的 merge 和 sync 都会变得很复杂,感觉还是提交一次,合并一次的 svn 操作比较简单,省时间。

各位公司里都是用的什么呀?

86 条回复  •  2020-07-31 12:03:38 +08:00
lommo
   1
lommo  
   2018 年 5 月 11 日
都有 git 多一些
shintendo
   2
shintendo  
   2018 年 5 月 11 日   ❤️ 1
svn 主要优势是目录级权限控制吧
TabGre
   3
TabGre  
   2018 年 5 月 11 日 via iPhone
分支没有利用上吧
kikyous
   4
kikyous  
   2018 年 5 月 11 日 via Android
全 git
nullcc
   5
nullcc  
   2018 年 5 月 11 日
已经 6 年没碰过 SVN,全是 GIT
Linxing
   6
Linxing  
   2018 年 5 月 11 日 via iPhone
大福建地区 基本都是 SVN
firedsxist0
   7
firedsxist0  
   2018 年 5 月 11 日
有用 SVN 有用 GIT 的,科室用 SVN,我自己用 GIT 管理自己本地代码
lzhCoooder
   8
lzhCoooder  
   2018 年 5 月 11 日
上家用 svn 目前这家用 perforce .....
nullcoder
   9
nullcoder  
   2018 年 5 月 11 日
请问,如果你 commit 一次 push 一次和 SVN 是否有区别?
newghost
   10
newghost  
OP
   2018 年 5 月 11 日
@nullcoder

操作次数不一样呀。
git 一般先 commit,再 push 吧?
svn 直接 commit.
newghost
   11
newghost  
OP
   2018 年 5 月 11 日
@nullcc
@firedsxist0

我也发现用 git 的应该都用过 svn
whypool
   12
whypool  
   2018 年 5 月 11 日
都在用
chenyu0532
   13
chenyu0532  
   2018 年 5 月 11 日
我们小单位,用的 svn。
SaKuLa
   14
SaKuLa  
   2018 年 5 月 11 日
@Linxing 不能用基本吧,我在厦门待过的公司都用 Git
CoderGeek
   15
CoderGeek  
   2018 年 5 月 11 日
都有 新项目部分用 git~
grantonzhuang
   16
grantonzhuang  
   2018 年 5 月 11 日 via Android
没有用过 svn,一直用 git,也只会 branch 和 stash 这几个,但觉得够用
IMuMa3
   17
IMuMa3  
   2018 年 5 月 11 日
git 的优势在分支
xiaxiaokang
   18
xiaxiaokang  
   2018 年 5 月 11 日
svn:文件(图片设计稿之类的)
git:纯文本(如代码,文章)
qloog
   19
qloog  
   2018 年 5 月 11 日
必须是 Git
xlmo
   20
xlmo  
   2018 年 5 月 11 日
svn +1
xomix
   21
xomix  
   2018 年 5 月 11 日
……微软深度伙伴,TFS,真好用,服务端就直接光盘下一步,配合 sql server,自动生成网站,配合 ad 管理不要太赞。
fcten
   22
fcten  
   2018 年 5 月 11 日
喜欢攒一堆 commit 不提交然后冲突了那不是自己的锅么。git 给了你选择,svn 不给你选择,你却觉得这是 git 的不对。
想起以前在学校的时候用 svn,有一次服务器挂了之后代码仓库就完蛋了。只能建一个新仓库导入代码,旧的 commit 全部丢失,故障期间完全无法提交代码……
zjsxwc
   23
zjsxwc  
   2018 年 5 月 11 日
也就上上家公司是 svn 的,其他公司都是毫无疑问 git,

个人体会是 git 比 svn 方便,而且用的人多碰到的坑也容易解决,反而 svn 用的人少,尤其很多 svn 用户连命令行都不会用,碰到问题就歇菜了
lazypu
   24
lazypu  
   2018 年 5 月 11 日
大福建地区 git 开发用, svn 产品用.
iappled
   25
iappled  
   2018 年 5 月 11 日
全 git
newtype0092
   26
newtype0092  
   2018 年 5 月 11 日
你喜欢 commit 完就 push 可以自己写个 alias 啊,想强制完全可以服务端 hook 不让一次 push 多个 commit 啊。用 git 肯定是因为喜欢 git 的方式,不喜欢为何不用 svn ?据我所知现在用 ftp 的也不是完全没有。。。
cuzfinal
   27
cuzfinal  
   2018 年 5 月 11 日
上一家 TFS,现在 git
hasbug
   28
hasbug  
   2018 年 5 月 11 日
喜欢 git svn 怎么说呢,公司用 svn,但····你们知道怎么搞的吗 全部项目被放到一个仓库里···这让我怎么搞某个项目的分支,反正我是不会用。
pony279
   29
pony279  
   2018 年 5 月 11 日
> 个人感觉不适合大团队,每个人都喜欢 commit 到本地,然后还要 merge 半天。


如果每次都需要手动 merge,很可能你们的代码结构有问题,导致大量同时修改同一个文件的情况

多数情况是自动 merge 就可以了,如果嫌 log 里一堆分支 merge 难看,团队可以要求用 rebase 啊。
815lbh
   30
815lbh  
   2018 年 5 月 11 日
经历三家公司,有 git, 有 svn。感觉 svn 更简单。
ryd994
   31
ryd994  
   2018 年 5 月 11 日 via Android
把 git 当 SVN 用就是这个结果
firedsxist0
   32
firedsxist0  
   2018 年 5 月 11 日
@newghost 我到新公司之前没用过 SVN,但我课经理一直用 SVN,so...
Linxing
   33
Linxing  
   2018 年 5 月 11 日
@SaKuLa #14 那就大福州吧 待过的公司没有看到 Git 的
carakan
   34
carakan  
   2018 年 5 月 11 日
vss svn....让我我受不了了....自己弄了一个 git..
he583899772
   35
he583899772  
   2018 年 5 月 11 日
git
Mutoo
   36
Mutoo  
   2018 年 5 月 11 日
手上有份远程工作,用的是 SVN,简直想死。后来用 git-svn 中转好多了。
BearD01001
   37
BearD01001  
   2018 年 5 月 11 日
跳槽之后终于摆脱了 SVN 0.0
chinvo
   38
chinvo  
   2018 年 5 月 11 日
git 的 branch 和 local commit 的优势就是你可以开个分支在自己本地随便改来回 revert,最后 rebase 一下 squash 一下 再 push 非常清爽。

如果 merge 和 sync 变得一团乱麻一定是团队管理工作以及工作流标准化做的不够到位。
murmur
   39
murmur  
   2018 年 5 月 11 日
svn 上手快客户端完备 小公司用很爽
AntiGameZ
   40
AntiGameZ  
   2018 年 5 月 11 日
git 不适合大团队? LZ 怕不会是团队代码的更新都在 master 分支上做吧。

建议可以回顾一下 Git Workflow,然后对照一下目前的工作流程,看看是否有可以调整的部分。如果是因为工具的问题,看看是否可以上新的工具或者购买对应的服务。

参考: https://github.com/xirong/my-git/blob/master/git-workflow-tutorial.md
Richman
   41
Richman  
   2018 年 5 月 11 日   ❤️ 1
2018 年了,还有那么多公司在用 svn 吗?真的超乎我的想象。
moshao6
   42
moshao6  
   2018 年 5 月 11 日
我司还在使用
newghost
   43
newghost  
OP
   2018 年 5 月 11 日
@Richman
@AntiGameZ

git 上手确实慢,让那么多人都熟练掌握人力成本有点高吧,还是比较适合专业程序员用。
inspoy
   44
inspoy  
   2018 年 5 月 11 日
自己在家用 git
整个公司用的一个大的 svn 仓库,通过权限控制来分部门...

话说 svn 的外链真(svn:externals)是好用,git 暂时没有看到替代方案
jy02534655
   45
jy02534655  
   2018 年 5 月 11 日
Git Extensions 了解下,有中文翻译界面可视化,完全不输 svn。
xuhaoyangx
   46
xuhaoyangx  
   2018 年 5 月 11 日
肯定 git。svn 每次 push 都要合并,反人类
yogogo
   47
yogogo  
   2018 年 5 月 11 日
@SaKuLa 我在厦门可能待过假的公司_(:ェ 」∠)_
qing0304
   48
qing0304  
   2018 年 5 月 11 日
git
lsyAndroid
   49
lsyAndroid  
   2018 年 5 月 11 日 via Android
git,打分支打习惯了
GeruzoniAnsasu
   50
GeruzoniAnsasu  
   2018 年 5 月 11 日   ❤️ 3
git 要严格控制分支

哪个分支作为开发新 feature 的 fork 分支,哪个分支为某开发人员专有,什么时候 rebase,什么时候 merge

都要有规定才行

不然来个人非要做死从别人写一半的分支 fork,再 merge 旧版本,再给你 rebase 到 master,再 patch 到 dev,光看我描述你都觉得恐怖了

svn 就倒是不会出现这种问题,svn 基本上只有往前滚的可能性,而且容易强制每个 commit 都是完整的 feature,但这种强制也容易拖慢同步进度,使得同步粒度变粗

如果管理得当而且所有开发人员都很熟悉特性的情况下,git 还是很理想的,但“管理得当”就已经非常难了,“所有开发人员都很熟悉”对于某些传统一点的公司来说简直天方夜谭
mritd
   51
mritd  
   2018 年 5 月 11 日 via iPhone
😂 容我好奇的问一下,用 svn ci 啥的怎么处理,还有 gitflow
winglight2016
   52
winglight2016  
   2018 年 5 月 11 日
不要怀疑 git,觉得不好用一定是你不会用,相比 svn 已经是代际优势了
wentaoliang
   53
wentaoliang  
   2018 年 5 月 11 日 via iPhone
git rebase 了解下?
AlphaTr
   54
AlphaTr  
   2018 年 5 月 11 日
接触 git 以后再也用不回去 svn 了,用也是 git-svn 中转
jin5354
   55
jin5354  
   2018 年 5 月 11 日
我进来看看有没有用 hg 的
yylucifer
   56
yylucifer  
   2018 年 5 月 11 日
楼主的问题是你司的 git flow 没有做好。

一个良好的 git flow 我觉得很优美。
niklause
   57
niklause  
   2018 年 5 月 11 日
肯定是 git 啊
pepesii
   58
pepesii  
   2018 年 5 月 12 日 via iPhone
我司在用 hg
ymd
   59
ymd  
   2018 年 5 月 12 日
不客气的说 现在还用 svn 的公司 早点跳槽八
cxbig
   60
cxbig  
   2018 年 5 月 12 日
Git 用了快 10 年了,早已不记得 SVN 怎么用了。
bingwenshi
   61
bingwenshi  
   2018 年 5 月 12 日   ❤️ 1
都 2018 年了,竟然还有人问这问题


@ymd 是的,还在用 svn 的公司,早点跳槽吧
msg7086
   62
msg7086  
   2018 年 5 月 12 日   ❤️ 1
你不要因为整个团队的人连 Git 都不会用就说 Git 用起来不好吧。

你觉得 Linux 内核开发团队算大团队吗?

当然了,如果你们团队的人都不会用 Git,那是用 SVN 好。
说不定 SVN 都用不溜,那还是打包 QQ 传档标日期得了。

不要把软件工程师这个职位当成儿戏!
findingpan
   63
findingpan  
   2018 年 5 月 12 日
Git 目前常用 hotfix, feature branch, pull request 做 code review 这些吧
openplatform
   64
openplatform  
   2018 年 5 月 12 日
Linux Kernel 目前经过 25 年的发展,有 1500 万行代码,运行在无数设备上。

这算大型项目么?
northisland
   65
northisland  
   2018 年 5 月 12 日
都有在用,我们组用 svn ……

反正我都用的不熟,体会不到该鄙视谁

不晓得 git 怎么玩文件映射,目录权限;也不晓得 git 多用户 merge 是咋比 svn 好,

求各位大佬科普
geelaw
   66
geelaw  
   2018 年 5 月 12 日 via iPhone
我在很久以前的一家公司实习的时候用的 VSS,再之后的一家公司是 Git,再之后的研究机构是 SVN,再之后在微软的具体的项目是 Git (VSTS/VSO)。

平时自己用的是 Git (GitHub, VSTS/VSO)。

我没搞懂,SVN 是不是没有分支啊😪
msg7086
   67
msg7086  
   2018 年 5 月 12 日
@geelaw 有,但是代价高到飞起,相当于 cp -r。
jin5354
   68
jin5354  
   2018 年 5 月 12 日
@geelaw svn 的分支就是复制一份新的
arawn
   69
arawn  
   2018 年 5 月 12 日
没用过 svn。呆过 3 家都是 git
billchenchina
   70
billchenchina  
   2018 年 5 月 12 日 via Android
@mritd #51
webhook 能做吧
congeec
   71
congeec  
   2018 年 5 月 12 日 via iPhone
@lzhCoooder 代码很多呢?居然要上 p   4
oongxx
   72
oongxx  
   2018 年 5 月 12 日
VSTS -> TFVC
ChasYuan
   73
ChasYuan  
   2018 年 5 月 12 日 via Android
svn 做文档管理,开发用 git。
waruqi
   74
waruqi  
   2018 年 5 月 12 日 via Android
git
Mutoo
   75
Mutoo  
   2018 年 5 月 12 日
@inspoy git submodule 了解一下。
cnbattle
   76
cnbattle  
   2018 年 5 月 12 日
svn 是啥? 没用过 (:狗头
dyllanwli
   77
dyllanwli  
   2018 年 5 月 12 日
用 git flow 确实很麻烦
iyangyuan
   78
iyangyuan  
   2018 年 5 月 12 日 via iPhone
svn
ldehai
   79
ldehai  
   2018 年 5 月 12 日
有些公司自己搭服务器,习惯性 SVN,估计很多没听过还可以装 gitlab。
其他不谈,如果没网络,svn 根本用不起来。git 完全没问题,也不会影响干活。
用过 git 再也不会喜欢 svn 的。
simple2025
   80
simple2025  
   2018 年 5 月 12 日
没网络你们居然能干活的?不 bing 的吗
lightening
   81
lightening  
   2018 年 5 月 12 日
如果你 merge 经常有大量冲突,用 svn 也是一样啊,肯定埋头干半天发现提交不了。
zpf124
   82
zpf124  
   2018 年 5 月 12 日
svn 虽然我个人很想在小部门里推 git,但大家觉得两者差距并不大,不愿意更换。
simple2025
   83
simple2025  
   2018 年 5 月 12 日
@zpf124 本来没有多大区别,除非用了 gitlab,以及你项目非常大,svn 分支建起来太慢
ckylolo
   84
ckylolo  
   2018 年 5 月 12 日
不是一个层级的东西,非要比计较的话,svn 过家家,git 才是团队协作和流程控制以及质量保证的利器。

有兴趣可以了解下

http://blog.jobbole.com/109466/
merlin1001
   85
merlin1001  
   2018 年 5 月 18 日
git 和 svn 都用过,个人感觉小团队开发还是 git 更方便
XisucksYi
   86
XisucksYi  
   2020 年 7 月 31 日
那只是你覺得複雜, git 有 local branch, remote branch, remote tracing branch. svn 呢?
而且我很想知道下對於 MicroServices 開發, svn 怎麼做
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 139ms · 3.9.8.5