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

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

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

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

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

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

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

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

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

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


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

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

    如果 merge 和 sync 变得一团乱麻一定是团队管理工作以及工作流标准化做的不够到位。
        39
    murmur   2018-05-11 16:11:05 +08:00
    svn 上手快客户端完备 小公司用很爽
        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
        41
    Richman   2018-05-11 16:22:44 +08:00   ♥ 1
    2018 年了,还有那么多公司在用 svn 吗?真的超乎我的想象。
        42
    moshao6   2018-05-11 16:27:16 +08:00
    我司还在使用
        43
    newghost   2018-05-11 16:34:40 +08:00
    @Richman
    @AntiGameZ

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

    话说 svn 的外链真(svn:externals)是好用,git 暂时没有看到替代方案
        45
    jy02534655   2018-05-11 17:45:22 +08:00
    Git Extensions 了解下,有中文翻译界面可视化,完全不输 svn。
        46
    xuhaoyangx   2018-05-11 17:47:29 +08:00
    肯定 git。svn 每次 push 都要合并,反人类
        47
    yogogo   2018-05-11 17:49:14 +08:00
    @SaKuLa 我在厦门可能待过假的公司_(:ェ 」∠)_
        48
    qing0304   2018-05-11 18:20:27 +08:00
    git
        49
    lsyAndroid   2018-05-11 18:33:44 +08:00 via Android
    git,打分支打习惯了
        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 还是很理想的,但“管理得当”就已经非常难了,“所有开发人员都很熟悉”对于某些传统一点的公司来说简直天方夜谭
        51
    mritd   2018-05-11 19:03:06 +08:00 via iPhone
    😂 容我好奇的问一下,用 svn ci 啥的怎么处理,还有 gitflow
        52
    winglight2016   2018-05-11 19:42:18 +08:00
    不要怀疑 git,觉得不好用一定是你不会用,相比 svn 已经是代际优势了
        53
    wentaoliang   2018-05-11 19:58:45 +08:00 via iPhone
    git rebase 了解下?
        54
    AlphaTr   2018-05-11 22:49:53 +08:00
    接触 git 以后再也用不回去 svn 了,用也是 git-svn 中转
        55
    jin5354   2018-05-11 23:22:16 +08:00
    我进来看看有没有用 hg 的
        56
    yylucifer   2018-05-11 23:52:39 +08:00
    楼主的问题是你司的 git flow 没有做好。

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


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

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

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

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

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

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

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

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

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

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

    有兴趣可以了解下

    http://blog.jobbole.com/109466/
        85
    merlin1001   2018-05-18 15:26:16 +08:00
    git 和 svn 都用过,个人感觉小团队开发还是 git 更方便
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   842 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 22:11 · PVG 06:11 · LAX 14:11 · JFK 17:11
    ♥ Do have faith in what you're doing.