Help us learn about your current experience with the documentation. Take the survey.
从 Perforce Helix 迁移
- Tier: 免费版、高级版、旗舰版
- Offering: GitLab.com、GitLab 自托管版、GitLab 专用版
Perforce Helix 提供了一套工具,其中包括一个与 Git 类似的集中式、专有版本控制系统。
Perforce 与 Git 的对比
以下列表说明了 Perforce Helix 和 Git 之间的主要区别:
- 总的来说,最大的区别是 Perforce 的分支是重量级的,而 Git 的分支是轻量级的。在 Perforce 中创建分支时,无论实际更改了多少文件,它都会为分支中的每个文件在专有数据库中创建一个集成记录。然而,在 Git 中,单个 SHA 值充当了更改后整个仓库状态的指针,这在采用功能分支工作流时很有帮助。
- 在 Git 中,分支之间的上下文切换不那么复杂。如果你的经理说:“你需要停止那个新功能的工作,并修复这个安全漏洞”,Git 可以帮助你做到这一点。
- 在本地计算机上拥有项目的完整副本及其历史记录意味着每次事务都非常快,而 Git 提供了这一点。你可以分支或合并,并独立进行实验,然后在与他人分享更改之前进行清理。
- Git 使代码审查不那么复杂,因为你可以在不将更改合并到默认分支的情况下分享它们。相比之下,Perforce 必须在服务器上实现一个搁置(Shelving)功能,以便他人在合并之前可以审查更改。
为什么要迁移
从用户和管理员的角度来看,Perforce Helix 可能难以管理。迁移到 Git/GitLab 有以下好处:
- 无许可费用:Git 是 GPL 许可,而 Perforce Helix 是专有的。
- 更短的学习曲线:Git 拥有庞大的社区和大量教程来帮助你入门。
- 与现代工具集成:通过迁移到 Git 和 GitLab,你可以拥有一个开源的端到端软件开发平台,内置版本控制、问题跟踪、代码审查、CI/CD 等功能。
如何迁移
Git 包含一个内置机制(git p4)可以从 Perforce 拉取代码,并从 Git 提交回 Perforce。
这里有几个链接可以帮助你开始:
git p4 和 git filter-branch 在创建小型高效的 Git 包文件方面不是很擅长。因此,在首次将仓库发送到 GitLab 服务器之前,花时间和 CPU 来正确地重新打包你的仓库可能是个好主意。请参阅 这个 StackOverflow 问题。