zarte
V2EX  ›  2019

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

  •  1
     
  •   zarte · Apr 17, 2019 · 11720 views
    This topic created in 2767 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

    感谢回复。

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

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


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

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

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

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

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

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

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

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

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

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

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

    psklf
    psklf
    Apr 19, 2019
    89
    @xiangyuecn #87 感谢回复,我当时在 mac 系统下似乎没有这个设置选项。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   983 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 140ms · UTC 22:01 · PVG 06:01 · LAX 14:01 · JFK 17:01
    ♥ Do have faith in what you're doing.