git-p4——对它的工作原理有什么好的解释吗
如果您远程使用perforce并希望拥有git惊人的速度来跟踪差异,以下是解决方案: 然而,我注意到以下几点:git-p4——对它的工作原理有什么好的解释吗,git,perforce,git-p4,Git,Perforce,Git P4,如果您远程使用perforce并希望拥有git惊人的速度来跟踪差异,以下是解决方案: 然而,我注意到以下几点: 严格按照说明操作 导入一棵大树而不获取历史记录可能需要一段时间 在大型树上,第一次提交将花费很长时间,因为此命令将同步整个树 如果您做了一个不想发送给perforce的提交,那么必须执行“git-rebase-i”并删除有问题的提交记录。您不能先“gitp4提交”,然后“p4还原”您不想发送的文件 如果你把事情搞砸了,事情会变得非常混乱 这就是我的问题对于git-p4如何使用远程存储库
git-p4不适合心脏虚弱的人。我知道你真的需要很好地理解git才能很好地使用它。我偶尔会使用git-p4,因为我经常出差,而且与办公室的联系并不总是很好。我的理解是,尽管我没有深入探讨,但git-p4为您维护了一个Performce工作区。无论何时执行git p4重基,基本上都是将代码同步到工作区中,然后git-p4将代码作为新提交重放到git存储库中。每当您执行git p4提交时,它都会将一系列修补程序重放到您的Perforce工作区中,并使用Perforce变更列表提交这些修补程序 我想您可以将其视为使用Perforce服务器作为远程分支,但实际上这是一个非常有限的实现
如果你有更详细的问题,我会尝试在Perforce论坛上发帖。办公室里有几个人对git-p4进行了详细的研究,可能会提供帮助。git项目源代码中的
文档/git-p4.txt
中有更多信息
git-p4维护一个refs/remotes/p4分支以镜像远程Performce服务器。
默认情况下,git-p4 clone
和git-p4 sync
更新此遥控器,并根据它重新设置主机的基础
git-p4 submit
需要配置一个额外的本地目录作为performe客户端根目录,以供p4 submit
使用
git-p4 sync/clone
将在相应的git提交消息中记录每个Perforce变更列表编号。例如:
[git-p4:depot路径=“//depot/test/”:change=51]
使用这些变更列表符号,git-p4 sync
获取Perforce服务器上尚未提交到git的变更列表,将变更列表符号添加到每个新的git提交消息中
git-p4 submit
首先确定新的本地git提交-那些没有[git-p4:…]
的提交。
使用Perforce客户端本地工作区,它同步Perforce文件,并在调用p4 submit
之前,使用git apply
在未提交的git提交上应用从git format patch
获取的补丁
然后git-p4 submit
调用git-p4 sync
根据刚刚更新的performe remote更新ref/remotes/p4分支
最后,git-p4 submit
将针对更新后的远程服务器在主分支上调用git-rebase
。这将导致提交相同的git树,但编辑的提交消息包含[git-p4…]
变更列表符号
如何在git中保存一些修改过的文件,而不将它们发送到p4
git-p4 submit
将提交所有分支提交。使用常用的git工具来组织您选择提交给Perforce的分支的更改 关于“哪些提交等待提交给Performance?”
任何可以接受修订范围(请参阅)的命令都应该可以工作,您只需将p4 remote作为该范围的端点。例如:
git日志远程/p4/master..master
git-diff-remotes/p4/master..master
我倾向于使用
show branch
快速查看我的分支的状态,在这种情况下git show branch——所有这些都可以使用。也许您会发现这个替代工具很有趣:
这是原始git-p4实用程序的一个分支,支持Perforce streams,但此时只有单向同步可以工作。第一次在8年内发生了很大变化:请参阅
- 您可以在git p4 submit上指定单个提交或一系列提交
- 您可以使用
--shelve
和--update shelve
来搁置更改,而不是提交更改
- 您可以将标签从p4导入Git
- 您可以将标记作为p4标签从Git导出
但是关于“它是如何工作的”,现在有一些助手:
- 您有一个详细的模式,可以帮助您查看正在发生的事情
- 您有一个干运行模式,它显示提交给p4的内容;不要更改Git或p4中的状态
使用Git 2.25(2020年第1季度),将显示使用情况
参见(2019年12月16日)by.
(于2020年1月2日合并)
:解析选项失败时显示详细帮助
签字人:本·基恩
当用户向git-p4
提供无效参数时,程序会报告故障,但不会提供正确的命令语法
向命令行参数解析器添加异常处理程序,以在引发异常时显示命令的特定命令行参数语法。
重新显示异常,以便保留当前行为
我想说的是,为了更好地使用Git,你需要更好地理解Git,而不管你是否与perforce在另一端进行交互。Git-p4如何知道需要提交给p4的内容?如何修改wh的列表