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

svn 明明很好用呀,为啥那么多人歧视?

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

    1.导出修改的文件:
    svn:选择提交记录右键导出。
    git:命令导出数据太多的时候就无法导出
    2.冲突
    svn:图形界面查看直接修改保存
    git:没用过图形界面的
    3.分支
    git:分支修改后实际上本地文件是变了,感觉跟手动选择更新没啥区别

    第 1 条附言  ·  36 天前
    git 离线也能提交这一点好,有的时候会用到。
    git 图形界面确实没用过。
    89 回复  |  直到 2019-04-19 13:07:09 +08:00
        1
    dog   37 天前 via iPhone   ♥ 1
    因为那些半懂不懂的就喜欢鄙视旧技术 猛吹新技术
        2
    undeflife   37 天前
    svn 作为版本工具不赖, 我个人更倾向于把 git 定义为协作工具. 把 git 跟 svn 这样去比较,我觉得你还没理解 git

    1.导出修改的文件:
    git:git diff xxxx >> aaa.patch 或者 git format-patch branch --stdout > aaa.patch 不管是导出文件改动、commit、还是分支都很容易
    2. 冲突
    git: 不会手动的话 图形工具的选择也很多
    3. 分支
    没看懂你在表达什么
        3
    HongJay   37 天前   ♥ 2
    svn 开分支有多可怕你知道么。
        4
    hlwjia   37 天前   ♥ 2
    3. 分支
    没看懂你在表达什么
        5
    hlwjia   37 天前   ♥ 2
    2. 冲突
    没用过就代表没有好用的?
        6
    hlwjia   37 天前   ♥ 4
    要吐槽可以,不过槽点要选好;没选好槽点,和喷子就没有区别了
        7
    lincanbin   37 天前
    git:去中心化,在家连不上公司 Git 也能继续写代码,能 commit 能回滚,享受版本管理。
        8
    nullcoder   37 天前   ♥ 11
    svn: 不用出差,活不用带回家,人不在公司接电话都可以“我不记得怎么写的了”
        9
    gulucn   37 天前 via Android
    没试过 svn 切换分支开发的?跟 git 差远了。
        10
    wysnylc   37 天前   ♥ 4
    svn 分支很烂,git 同样有图形界面
    吹捧新技术贬低旧技术不可取,固守旧技术不学习新技术更加致命
        11
    ACool   37 天前 via Android
    鹅厂的路过,开发用的 svn,分支管理就是 shit
        12
    falcon05   37 天前 via iPhone
    好久没用 svn 了,楼主说得这些没啥感觉,记得 svn 可以只检出部分的内容,不用检出整个项目,还有它的权限控制好像做得比 git 完善。
        13
    balabalaguguji   37 天前
    @HongJay 你完全不懂 SVN 的分支,SVN 的分支早就不是全部 copy 了
        14
    balabalaguguji   37 天前
    @gulucn 为什么这么多人对 SVN 切分支还停留在几十年前的理解水平,现在 SVN 切换分支,创建分支都是瞬间的
        15
    balabalaguguji   37 天前
    我个人也是比较喜欢用 SVN,简单、够用,图形化看 diff,解决冲突。
    都是很好的工具,各有所长,任何一个只要你熟练账号,都能很好的协作。
    很多人喷 SVN,其实是对他不够了解,比如分支这个,很多人还以为开个分支等于全部内容复制一次...
        16
    balabalaguguji   37 天前
    另外推荐你们一个很好用的 SVN 平台,svnbucket.com
        17
    keepeye   37 天前
    git 用的很顺手,主要是离线可用,不用连远程仓库
        18
    gouflv   37 天前 via Android
    楼主带着主观感受的评价就不一一吐槽了,你觉得好用就行,但是不能阻止我歧视这种还不会用 git 的人
        19
    pkookp8   37 天前 via Android   ♥ 1
    svn 有权限管理,严格控制每个路径的权限,就像在说不是你的你别管
    git 只有项目的权限
    人生不要花费在这种没意义的权限管理中,不相信我就别用我
        20
    love   37 天前 via Android
    @balabalaguguji svn 分支难用不是指速度。不知道现在怎样了,以前和 git 相比相当于手动挡
        21
    kevinhwang   37 天前 via Android   ♥ 1
    git 是生态。如果你还抱着 svn 证明很少关注 github 里面的开源项目。
        22
    across   37 天前 via iPhone
    @ACool 竟然没买 perforce...
        23
    learnshare   37 天前
    图形界面是优势?没用过怎么来的结论
        24
    ACool   37 天前 via Android
    @across 都是自研的
        25
    cmheia   37 天前
    服务器不行,每次打开 log,客户端先卡半个小时,前人还把子目录移来移去,追溯历史基本成为不可行的一件事,还能好用?
        26
    randyo   37 天前 via Android
    公司用 SVN 可以尝试本地用 git-svn 桥接,自己就可以愉快用 git 了
        27
    FakeLeung   37 天前   ♥ 1
    不鄙视用 svn 的人,只鄙视两者都不会的程序员。
        28
    tyrealgray   37 天前
    为什么这么多人对 SVN 切分支还停留在几十年前的理解水平

    因为就是几十年前被坑了才会换到 git 啊,没毛病
        29
    opengps   37 天前   ♥ 1
    我习惯用 svn 管文件,git 管代码
        30
    Sharuru   37 天前
    git 主要分支比起 svn 管理起来容易,但学习成本略高。
    svn 上手简单超简单,而且不服就 lock,糙快猛。

    反正两者对二进制都支持不好( pdf,doc 之类的)。

    我反正给啥用啥,我都喜欢,我都爱用。
        31
    starsky007   37 天前 via Android
    歧视倒不至于,两个都好,但 Git 更好。
        32
    RyuZheng   37 天前
    和 29 楼一样,我之前有大量 Excel、Word 文件,所以管理这些文件的版本使用 SVN 管理项目,而代码使用 Git ;一直用的很舒服
        33
    des   37 天前 via iPad
    @Sharuru
    world 有修订审阅功能,可以放 svn 然后用这个功能,不过文件合并应该是不行的。

    建议用一阵子再来对比吧,都没用过,是没法比较的
        34
    starsky007   37 天前 via Android
    @opengps
    @RyuZheng
    请教一下,管理二进制文件方面,Git 没有 SVN 好吗?
        35
    des   37 天前 via iPad
    另外提醒一下各位 GitHub 也是能用 svn checkout 出来的
        36
    des   37 天前 via iPad
    @starsky007

    说实在的,二进制文件,这两个都不是特别好用。
    git 的话这些操作步骤有些烦,因为根本就不能合并,虽说有 git lfs 可以用
        37
    hhhsuan   37 天前 via Android
    svn 有分支?
        38
    RyuZheng   37 天前   ♥ 1
    @starsky007 #34 git 只要你打开过这个 Excel,光标移动一下都算文件改动了,而且都是二进制的,根本不能版本跟踪,至少 SVN 效果还会好一点,自带 Compare,或者你使用 Office 自身的 compare。而且 SVN 其实也可以用 Git-SVN 来进行管理,语句跟 Git 类似,就是不是太完美,有时会出一些小 bug ;但是我之前一直使用 Sourcetree 来进行管理,很舒服。
        39
    starsky007   37 天前 via Android
    @RyuZheng

    感谢回复。

    SVN 确实更加人性化一点,自带了不少比较 Office 文件的办法,开箱即用。Git 应该通过配置比较工具,也能达到目的,明天试试。
        40
    micean   37 天前   ♥ 1
    svn 管理文档很好用,因为可以可以只看单个文件而不需要整个库 check out 下来
        41
    jim9606   37 天前
    完全可以把 git 当成 svn 用,git 的意义在于可以脱离服务器工作。因为比 svn 多了本地仓库与远程仓库同步的步骤 fetch,push,pull(fetch+merge),刚接触的可能会晕。
    至于权限控制,可以用 gitosis 或者 gitlab 整体方案,或者直接拆分项目。
        42
    icyalala   37 天前
    git 和 svn 各有各的特色。被鄙视的是那种 "只会用一个但是鄙视另一个" 的人。
        43
    murmur   37 天前
    svn 适合企业、分工明确的项目
    git 特别适合云撕逼
        44
    lusi1990   37 天前 via Android
    @nullcoder 这个棒
        45
    MonoLogueChi   37 天前 via Android
    游戏开发者表示,git 真 tm 难用
        46
    afx   37 天前 via iPhone
    @HongJay 含泪点赞,尤其项目文件大的时候,真带薪开分支
        47
    duzhihao   37 天前 via iPhone
    算了。还是换 react 和 vue 谁好的问题吧
        48
    GeruzoniAnsasu   37 天前   ♥ 2
    两个工具的倾向很不一样

    svn 主要作用在于控制版本历史
    git 的目的在于多人协作


    违背设计倾向去使用无论哪个都会寸步难行
    SVN 你想在多人合作下细粒度地分工并行简直是噩梦,带薪开分支我笑了了一下,而且其他人是无法容忍分支上有 wip 节点的,他得从过去的某个 full-featured 节点分支出去再 merge 回来,这对于 svn 来说简直相当于上刑
    GIT 的话首先它的历史系统真的太复杂了,一个 merge 节点包含过去两条并行的历史,一个复杂的多人协作项目,用可视化界面一眼看上去 5 条竖线顿时头大,更别说没 GUI 的话翻 commit 能翻成傻逼,这很大程度也是为什么几乎所有用 git 的项目都要强调“在 merge 到主线前必须 rebase ”,目的就是减少并行历史,节点逻辑相对清晰。而 SVN 的特性决定了没法搞出来这么复杂的节点历史树,每一个分支都是源码副本的单线历史,非常清晰
        49
    GeruzoniAnsasu   37 天前   ♥ 3
    “歧视 svn ”的原因在于 互联网行业开发特性就是迭代快,版本多,分工细,模块上线时间不同步,这些因素迫使大家去选择“倾向于多人协作”的 git

    你可以想象一下用 SVN 得撕逼撕成啥样:
    “哎卧槽说了这个 pipeline 没跑完之前不要 push 啊,没测完就加个新版本进来到时候怎么合啊”
    “哪个傻逼往公共主线上推了一个没写完的微服务,赶快出来挨打,我 tm 删构建代码都删了半天”
    “什么? 分支 1 上这个特性在 r305 就有了啊,怎么分支 5 都滚到 r378 了还没加上……什么?代码结构变了没法合并?那你赶快给我重写一个一样的,今晚搞定可以吧?”
    “ A 你跟 B 的模块对接完成了吗? 啥还没搞定?赶紧搞完,别的同事都没法上传代码了”
        50
    chenqh   37 天前
    没网你们真的能够写代码吗?方正我不能
        51
    chenqh   37 天前
    感觉还是 git 难用,如果不是 gayhub,git 不会有现在这么火
        52
    mingl0280   37 天前
    shi 一样的 svn 的分支管理……现在公司用着 svn 真的是十分蛋疼……
        53
    xuanbg   37 天前
    SVN 不难用,但 Git 更好用呀!
        54
    Mutoo   37 天前
    公司在国内用 svn,我在国外兼职远程工作简直是恶梦,遇到网络不好的时候,没法提交。后来用 git-svn 桥接解决。
    另一个痛点上面也提到了,就是如果有人往仓库提交了有错误的代码,不等他修好,导致其它人都无法正常协作,这是非常蛋疼的,一周总会发生一两次。这主要是 SVN 分支非常难用导致的。
        55
    Cbdy   37 天前
        56
    mohoumk2   37 天前 via Android
    svn 不是管理文件的吗………替代 ftp 特好用
        57
    wdv2ly   37 天前
    @hlwjia 哈哈哈哈+1,git 或许有不好的地方,但 LZ 选的槽点恰恰坐实了他一点不懂 git
        58
    sugars   37 天前
    有更好用的 git 我为什么要用 svn ?所以这就是别人眼中的歧视
        59
    babedoll   37 天前
    你们用过 TFS 吗 我吹爆!!
    不仅有每次代码上传的历史记录,也就是任何时候可以回退到历史版本。而且上传自己更改的代码的时候如果和其他人有冲突会有历史文件对比和代码块重新选择!

    呜呜呜太好用了,TFS 一生推。
        60
    raptor   37 天前
    我还以为自己穿越了,翻了一下旧文,发现我吹 svn 的时候是 2005 年……
        61
    sonyxperia   37 天前
    我也觉得 svn 简单多了
        62
    shench   37 天前
    因为 SVN 是图形界面啊,还有,它比较老啊~ (手动狗头)
        63
    zdd2389   37 天前
    svn 有一个操作一直没明白,就是本地有代码的时候,如何 check in 到 svn 服务器上? import 上传本地没有版本管理
        64
    xiangyuecn   37 天前
    因为 TortoiseSVN 好用,还没用过 git 的分支,不过没发现 svn 的分支有什么问题呀

    另外:svn 虽老,但 svn 一个吊打 git 的功能:目录级别的权限控制 和 检出,不接受反驳。

    github 上的仓库管理我用 git 客户端比较少,大部分时间用的 TortoiseSVN 客户端,有没有相同的 v2er

        65
    sagaxu   37 天前 via Android
    svn 普遍不加班,这点吊打 git
        66
    sevenQu   37 天前
    不管黑猫白猫,抓到老鼠就是好猫。还记得之前懵懵懂懂,用的 svn 连接的新浪云,那时 git 还没这么广泛
        67
    123s   37 天前
    有时候要随大流,现在都是 git。就像别人都开摩托车,你还开电动自行车。
        68
    wupher   37 天前
    SVN 拉分支,尤其是切换分支,还是挺麻烦的。更别提分支比较了。

    SVN 在连不上 SVN 服务器的情况下,基本什么都做不了。Git 还可以本地 commit,后续再 push,拉分支,切分支也没问题。

    最后,SVN 要真这么好,哪来的 github,应该现在大家用的是 svnhub 才对。
        69
    ZhLTE   37 天前
    都用我也觉得单就使用来说 svn 比 git 好用过了
        70
    ZhLTE   37 天前
    @ZhLTE 过->多
        71
    ioschen   37 天前
    反感独裁,喜欢民主
        72
    CoCoMcRee   37 天前
    看你项目侧重点吧
    SVN 的优势在于开发人员的权限管理.
    Git 的优势在于多人开发同一个项目时的协作以及分支版本管理等.

    如果你只是自己一个人用,连分支都不需要的话,其实 svn 和 git 用起来都差不多, 就上传,拉取这两功能.
        73
    wfd0807   37 天前
    不管什么东西对比一下都能吵吵起来,这很 V2 !
        74
    mbtfdwlx   37 天前
    git 图形化工具可以尝试下 souretree
        75
    abcbuzhiming   37 天前
    @ioschen 别装逼了,GIT 合并代码的时候不是独裁的吗?
        76
    hemingyang   37 天前 via Android
    就像有人说 eclipse 没有 idea 好用一样
        77
    ioschen   37 天前
    @abcbuzhiming 总统签字的时候不是独裁吗?你爸付款的时候不是独裁吗?
        78
    947211232   37 天前
    权限选 svn,团队协作选 git,只有深入开发一下才懂什么是好什么是便捷,我就是 svn 到 git 的。
        79
    momocraft   37 天前
    我觉得能写出这样对比的人对 git 或 svn 的评论的价值都有限
        80
    bannychen   37 天前
    @RyuZheng 您用的是海归 svn 吗,我现在合计用这个来管理论文呢
        81
    int64ago   37 天前
    那你就继续用 svn 好了,都 9102 年了还有人问这个问题
        82
    lshero   37 天前
    我在想有啥工具可以同时管理 svn 和 git 的
    毕竟一些编译打包好的东西丢给 git 也没有啥优势
        83
    loveour   37 天前
    @MonoLogueChi #45 +1.游戏要用 Git 是真的费劲。
        84
    loryyang   37 天前
    我想说大部分的项目根本触及不到 SVN 的弱点,而 SVN 的易用性完爆 GIT
    GIT 有他的优点,但是大部分人根本用不到或者不会用
        85
    psklf   37 天前
    svn 分支先不谈,我用 svn 的时候发现 ignore 做不好,谁知道怎么像 gitignore 一样设置这个项目的忽略文件?
        86
    blackshow   37 天前
    svn 分支操作都是对文件操作,开销太大
    git 是对 index 操作,创建分支开销小
        87
    geying   36 天前
    不都是看场景和工作环境么。。。
        88
    xiangyuecn   36 天前
    @psklf #85 其实 svn 和 git 的忽略基本一致,只不过 svn 存在文件夹属性里,git 存在一个文件里面。目录上看起来 svn 的更简洁些,没有太多垃圾性质的文件,但编辑起来多那么几个步骤; git 好编辑些,打开文件就是一顿改。

    另外像#84 楼说的颇为舒适,各有优缺点吧,就普通使用来讲两个并没有太大区别,可能用到的也就两个,不是拉就是推😅

    github 还是蛮好,支持 svn 来管理,我在 github 很少写.gitignore 文件,用的多的还是文件夹里面设置属性,但不知道是不是 git 里面弱化了文件夹的概念还是怎么着,导致 svn 对空文件夹也不允许提交。

        89
    psklf   36 天前
    @xiangyuecn #87 感谢回复,我当时在 mac 系统下似乎没有这个设置选项。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2413 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 09:03 · PVG 17:03 · LAX 02:03 · JFK 05:03
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1