各位公司用 SVN 的多还是用 GIT 做版本控制的多? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
newghost
V2EX    程序员

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

  •  1
     
  •   newghost
    newghost 2018-05-11 12:58:33 +08:00 23039 次点击
    这是一个创建于 2720 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    操作次数不一样呀。
    git 一般先 commit,再 push 吧?
    svn 直接 commit.
    newghost
        11
    newghost  
    OP
       2018-05-11 13:35:56 +08:00
    @nullcc
    @firedsxist0

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

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


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

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

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

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

    参考: https://github.com/xirong/my-git/blob/master/git-workflow-tutorial.md
    Richman
        41
    Richman  
       2018-05-11 16:22:44 +08:00   1
    2018 年了,还有那么多公司在用 svn 吗?真的超乎我的想象。
    moshao6
        42
    moshao6  
       2018-05-11 16:27:16 +08:00
    我司还在使用
    newghost
        43
    newghost  
    OP
       2018-05-11 16:34:40 +08:00
    @Richman
    @AntiGameZ

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

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

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

    都要有规定才行

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

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

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

    一个良好的 git flow 我觉得很优美。
    niklause
        57
    niklause  
       2018-05-11 23:53:15 +08:00
    肯定是 git 啊
    pepesii
        58
    pepesii  
       2018-05-12 00:06:36 +08:00 via iPhone
    我司在用 hg
    ymd
        59
    ymd  
       2018-05-12 00:36:39 +08:00
    不客气的说 现在还用 svn 的公司 早点跳槽八
    cxbig
        60
    cxbig  
       2018-05-12 01:58:44 +08:00
    Git 用了快 10 年了,早已不记得 SVN 怎么用了。
    bingwenshi
        61
    bingwenshi  
       2018-05-12 02:17:18 +08:00   1
    都 2018 年了,竟然还有人问这问题


    @ymd 是的,还在用 svn 的公司,早点跳槽吧
    msg7086
        62
    msg7086  
       2018-05-12 02:33:29 +08:00   1
    你不要因为整个团队的人连 Git 都不会用就说 Git 用起来不好吧。

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

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

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

    这算大型项目么?
    northisland
        65
    northisland  
       2018-05-12 09:01:57 +08:00
    都有在用,我们组用 svn ……

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

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

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

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

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

    有兴趣可以了解下

    http://blog.jobbole.com/109466/
    merlin1001
        85
    merlin1001  
       2018-05-18 15:26:16 +08:00
    git 和 svn 都用过,个人感觉小团队开发还是 git 更方便
    XisucksYi
        86
    XisucksYi  
       2020-07-31 12:03:38 +08:00
    那只是你得, git 有 local branch, remote branch, remote tracing branch. svn 呢?
    而且我很想知道下於 MicroServices , svn 怎做
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5450 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 09:10 PVG 17:10 LAX 02:10 JFK 05:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86