我已阅读有关perforce的文档和“分支策略”建议。 让我感到困惑的一件事是,一个简单的问题似乎没有得到充分的解决。 当我正在处理一个涉及我们代码库的许多部分的项目时,我无法在一天结束时检查我的代码而不检查主干。那么我需要在这种情况下分支吗?我希望能够在一个漫长而艰苦的项目中记录我的变化,所以当我转错时我可以回去......
我看到分支的问题是我将创建几乎整个代码库的副本。我在这里错过了一个明显的解决方案吗? 感谢
答案 0 :(得分:2)
从Perforce服务器的角度来看,分支实际上并不是文件的副本。 Perforce使用一种称为“懒惰副本”的机制来最小化光盘消耗。从their website开始,以下是术语的定义:
Perforce使用的方法 没有的文件的内部副本 复制库中的文件内容。 懒惰副本可最大限度地减少消耗 通过存储引用来获得磁盘空间 原始文件而不是副本 文件。
答案 1 :(得分:1)
我所知道的最接近的是搁架,您可以“搁置”正在进行的工作,在服务器上保存副本。我通常这样做基本上检查我的工作。我认为这最接近满足您的需求,您可以在一天结束时保存您的进度。
有关p4v中搁置的教程,请参阅here。
或者输入p4 help shelve
以获取有关命令行的帮助。
答案 2 :(得分:1)
使用perforce的最佳方法是在用户/功能分支中工作,然后您可以避免检查主干,同时仍然将更改推送到软件仓库。
创建分支时,您不必分支整个主干或源分支 - 您只需要分支您正在处理的文件 - 您可以通过客户端规范将其余文件映射到您的分支。
TBH - 只需购买&阅读'Practical Perforce',它有大量关于如何做到这一点的有用信息,如果你每天使用perforce,这是非常值得的。
perforce的另一个非常有用的功能是“作业” - 通常仅用于跟踪错误 - 它非常灵活,允许您存储附加到标记的更改列表历史记录,以便您创建“元标记”并附加修订版即ie 'NightlyBuild'或'BreakingChanges或任何你想要的。
HTH。
答案 3 :(得分:0)
使用PDB评估 - 稀疏分支。更多信息,请http://www.releng.com/p5layer.html