首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉勾
V2EX  ›  程序员

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

  •  1
     
  •   newghost · 312 天前 · 9638 次点击
    这是一个创建于 312 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    85 回复  |  直到 2018-05-18 15:26:16 +08:00
        1
    lommo   312 天前
    都有 git 多一些
        2
    shintendo   312 天前   ♥ 1
    svn 主要优势是目录级权限控制吧
        3
    TabGre   312 天前 via iPhone
    分支没有利用上吧
        4
    kikyous   312 天前 via Android
    全 git
        5
    nullcc   312 天前
    已经 6 年没碰过 SVN,全是 GIT
        6
    Linxing   312 天前 via iPhone
    大福建地区 基本都是 SVN
        7
    firedsxist0   312 天前
    有用 SVN 有用 GIT 的,科室用 SVN,我自己用 GIT 管理自己本地代码
        8
    lzhCoooder   312 天前
    上家用 svn 目前这家用 perforce .....
        9
    nullcoder   312 天前
    请问,如果你 commit 一次 push 一次和 SVN 是否有区别?
        10
    newghost   312 天前
    @nullcoder

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

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

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


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

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

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

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

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

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

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

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

    都要有规定才行

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

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

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

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


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

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

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

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

    这算大型项目么?
        65
    northisland   311 天前
    都有在用,我们组用 svn ……

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

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

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

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

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

    有兴趣可以了解下

    http://blog.jobbole.com/109466/
        85
    merlin1001   305 天前
    git 和 svn 都用过,个人感觉小团队开发还是 git 更方便
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   852 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 19:53 · PVG 03:53 · LAX 12:53 · JFK 15:53
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1