V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qcbf111
V2EX  ›  版本控制系统

有没有一款版本管理软件可以融合 SVN 和 GIT 的优点的?目前任然没有找到一个完美的版本软件。

  •  1
     
  •   qcbf111 · 2023-12-06 10:14:35 +08:00 · 2129 次点击
    这是一个创建于 381 天前的主题,其中的信息可能已经有所发展或是发生改变。
    要是有一个版本软件能融合 svn 和 git 的特点就好了。
    SVN 这样单文件管理,可以任意提交更新某一个文件、目录和权限,GIT 每次要对整个工程整体同步,就算开大量分支开发业务,主分支依然很容易冲突。
    但是 GIT 的.gitignore 和分支又非常好用
    最好还能加上设置某一些目录(美术资源目录)为类是 LFS 的方式。
    我是游戏开发工程,目前绝大部分游戏工程还是 SVN 管理的,请问有这样的版本软件吗?
    15 条回复    2023-12-06 17:15:43 +08:00
    utfs8889
        1
    utfs8889  
       2023-12-06 12:15:59 +08:00
    我也不清楚我们的 [数字空间] 的 Git 代码版本管理是否满足你的需求?欢迎体验测试下

    ---

    [数字空间] ( www.writebug.com ),重新定义 All in One 一站式内容协作管理
    ShadowPower
        2
    ShadowPower  
       2023-12-06 12:18:03 +08:00
    开源的没有
    各种商业版本控制软件应该都能满足需求,例如 Plastic SCM 、Perforce 之类的
    dayeye2006199
        3
    dayeye2006199  
       2023-12-06 12:20:18 +08:00 via Android
    我觉得以前的 mercurial 是接近这个描述的
    nothingistrue
        4
    nothingistrue  
       2023-12-06 12:37:22 +08:00
    深入使用 GIT 即可。
    masterclock
        5
    masterclock  
       2023-12-06 12:43:43 +08:00
    git 显然也可以单文件操作

    看描述,建议学习实践 git 的某种工作流
    qcbf111
        6
    qcbf111  
    OP
       2023-12-06 12:49:12 +08:00
    @masterclock 很明显你 pull 和 push 是对整个工程的,比如我 SVN 只提交或者更新 A.png 这单单一个文件啊 而且非常迅速。
    如果你一定要说 GIT 里面 pull 之后自己再去找出这一个文件合并到本地 那并没有理解我说的或者可能没有使用过 SVN 吧。
    qcbf111
        7
    qcbf111  
    OP
       2023-12-06 12:50:01 +08:00
    @masterclock pull 和 push 是对整个工程的,比如我 SVN 只提交或者更新 A.png 这单单一个文件啊 而且非常迅速。
    如果你一定要说 GIT 里面 pull 之后自己再去找出这一个文件合并到本地,那并没有理解我说的或者可能没有使用过 SVN 吧。
    qcbf111
        8
    qcbf111  
    OP
       2023-12-06 12:55:29 +08:00
    为啥回复了两次。再补充一条最好能像 svn 一样集中管理,不需要分布式, 感觉再简单点说就是 SVN + 类似 GIT 的分支和.gitignore 还有 LFS 就是一个完美的版本管理软件了。
    Sinksky
        9
    Sinksky  
       2023-12-06 12:57:34 +08:00
    混合使用 Git 还有 Svn ,根据代码还有资源权限使用场景做划分,然后把一些相近概念更新、强制更新、打分支的大概抽象成一个操作。。。就自己写一个统筹一下
    qcbf111
        10
    qcbf111  
    OP
       2023-12-06 13:01:40 +08:00
    @Sinksky 这种以前想过,代码用 git ,其他用 svn 。可是游戏工程里面资源和代码耦合交错太高了,就没继续想下去了。
    masterclock
        11
    masterclock  
       2023-12-06 13:22:28 +08:00
    git fetch xxx
    git checkout xxx path/to/single/file
    获取单个文件也还算方便吧

    我 09-1x 年用 SVN ,后来就 git 了,更早是吐血 cvs
    72MpQOSsJhyLs88N
        12
    72MpQOSsJhyLs88N  
       2023-12-06 13:25:39 +08:00
    hg 啊
    ggvoking
        13
    ggvoking  
       2023-12-06 16:16:21 +08:00
    也是做游戏的,跟楼主有一样的困扰。目前用的 svn ,但是很不喜欢 svn ,太难用了,残次品的分支功能,工程很大的时候,又要同时做多个功能的时候,只能多拉一些工程做事。使用 git 对于美术和策划人员来说比 svn 上手麻烦些。听说现在很多用 Perforce 的。
    qcbf111
        14
    qcbf111  
    OP
       2023-12-06 17:14:17 +08:00
    @masterclock 这其实就是我说的那样,比较麻烦。而且 也不是单纯的 checkout ,因为事实上他要算是同步才行,因为还是要对比差异合并的。
    svn 操作是 xxx.txt->update 或者 ./xxx/->update 完事,因为这个是较为频繁的操作所以还是需要操作便捷的。
    qcbf111
        15
    qcbf111  
    OP
       2023-12-06 17:15:43 +08:00
    @ggvoking 看起来最佳还是美术策划使用 SVN ,程序使用 GIT 。但问题就在于游戏工程通常而言 资源和程序耦合很深,很难分的彻底。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1255 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:53 · PVG 01:53 · LAX 09:53 · JFK 12:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.