Git for Perforce用户
我已经使用Perforce多年了。我想将git用作个人代码,但是我所见过的所有git教程都假定您是完整的源代码管理n00b(这使它们变得非常繁琐),或者您习惯了svn(我不是)。 我了解p4,我也了解分布式源代码控制系统背后的思想(因此,我不需要推销)。我想要的是从p4命令到等效git命令的转换表,以及没有p4等效命令的“不能没有”命令。 由于我怀疑每个p4用户都使用p4的不同子集,因此我经常希望在p4中执行一些我希望能够在git中执行的操作,这些操作在我看过的文档中并不能立即看出来: 在单个客户端中创建多个挂起的更改列表。(p4 change) 编辑待处理的更改列表。(也p4 change) 查看我所有待处理变更列表的列表(p4 changes -s pending) 我的客户端(p4 opened)或挂起的变更列表(p4 describe)中所有已更改文件的列表 查看待处理变更列表的差异(为此,我使用了一个包装脚本,该脚本使用p4 diff和p4 describe) 对于给定的文件,请查看哪些已提交的更改列表影响了哪些行(p4 annotate) 对于给定的文件,请参阅影响文件的变更列表的描述列表(p4 log) 提交待处理的更改列表(p4 submit -c) 中止待处理的变更清单(p4 revert) 其中许多围绕“变更列表”。“更改列表”是p4术语。git等效项是什么? 听起来分支可能是git用户用来代替p4调用变更列表的东西。有点混乱,因为p4也有一个叫做分支的东西,尽管它们似乎只是模糊的相关概念。(尽管我一直认为p4的分支概念很奇怪,但又与经典的RCS分支概念有所不同。) 无论如何...我不确定如何用git的分支来完成我通常在p4更改列表中所做的工作。在p4中,我可以执行以下操作: $ p4 edit a.txt $ p4 change a.txt Change 12345 created. 此时,我有一个包含a.txt的changlist。我可以编辑说明并继续工作而无需提交更改列表。另外,如果事实证明我需要对其他文件进行一些更改,例如在代码的其他层中进行错误修复,则可以在同一客户端中执行此操作: $ p4 edit z.txt $ p4 change z.txt Change …