V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
newghost
V2EX  ›  程序员

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

  •  1
     
  •   newghost ·
    newghost · May 11, 2018 · 23531 views
    This topic created in 2915 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

    都要有规定才行

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

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

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

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


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

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

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

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

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

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

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

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

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

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

    有兴趣可以了解下

    http://blog.jobbole.com/109466/
    merlin1001
        85
    merlin1001  
       May 18, 2018
    git 和 svn 都用过,个人感觉小团队开发还是 git 更方便
    XisucksYi
        86
    XisucksYi  
       Jul 31, 2020
    那只是你覺得複雜, git 有 local branch, remote branch, remote tracing branch. svn 呢?
    而且我很想知道下對於 MicroServices 開發, svn 怎麼做
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   770 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 203ms · UTC 22:00 · PVG 06:00 · LAX 15:00 · JFK 18:00
    ♥ Do have faith in what you're doing.