Hi r/Unity3D

和这里的大家一样,我经历过 Unity 的版本控制磨练、LFS 带宽费用、.meta 合并地狱,以及两个人编辑同一场景的问题——Perforce 可以解决,而 Git 不能。

所以我写了一个小型开源工具叫 BlackGit,兼顾两者的优势:Git 的分支 + Perforce 的锁定,单个仓库。https://github.com/zhuzhonghua/blackgit

  • git black lock scene.unity 以独占方式锁定文件,类似 p4 edit。锁在服务器上。任何其他人对该文件的推送都会被拒绝,并显示持有者。你的本地分支和提交始终不受阻塞,可分支、编辑、丢弃,这些都不会影响锁。

  • git black clone 是部分克隆,使用 blob:none 加上空的稀疏检查出。1.4 GB 的服务器仓库在磁盘上仅占 168 KB。随后 git black follow Assets/Scenes/Main.unity 只会加载你打开的文件,演示中为 60 MB。无 LFS,无完整历史。

  • 服务器是一个 Docker 容器,放在你现有的 GitHub/GitLab 前面。

它是 beta 版。暂无艺术家 GUI(仅命令行)。不是明天就能替代 Perforce。

我之所以帖子:我在寻找 Unity 团队,愿意在真实项目上踩踏测试,并告诉我哪里出问题。在仓库上打开 issue。

你最想先看到什么?乐意在评论中回答。