是否可以git clone
现有git p4
存储库,以便可以将git p4
用于新存储库?
这是用例:我有桌面PC,从perforce克隆完整的存储库(git p4 clone <somepath>@all
)想要将其克隆到笔记本电脑而不接触p4服务器(链接到它是非常慢和滞后)一个能够提交对perforce的更改。理想情况下,使用git clone --depth
和稀疏克隆来减少笔记本电脑磁盘的使用情况会很棒。
答案 0 :(得分:3)
没有。 git p4
通过与Perforce结帐同步(它是一些p4命令的包装),因此您还需要可以访问Perforce结帐。
您可以将Git repo克隆到您的笔记本电脑,完成您的工作,将更改推送到该Git仓库,并在您准备好提交更改时从那里运行git p4
。
答案 1 :(得分:3)
在原始git存储库中,.git/refs
下的目录结构应与以下内容类似:
.git/refs/
.git/refs/heads
.git/refs/tags
.git/refs/remotes
.git/refs/remotes/p4
要获取p4信息,必须将以下行添加到克隆存储库中的[remote "origin"]
条目中:
fetch = +refs/remotes/p4/*:refs/remotes/p4/*
这也可以通过在克隆的存储库中运行以下命令来实现:
git config --add remote.origin.fetch '+refs/remotes/p4/*:refs/remotes/p4/*'
注意:fetch
条目与上面的目录结构相匹配,因此您需要确认它们是否相同。点击此处了解有关refspecs的更多信息。
此时只需运行git fetch
,从此刻开始,所有git p4
命令都应该正常运行。