5

是否可以使用git clone现有git p4存储库,以便可以git p4用于新存储库?

这里是用例:我有一个从 perforce ( git p4 clone <somepath>@all) 克隆的完整存储库的台式机,我想在不接触 p4 服务器的情况下将其克隆到笔记本电脑(链接到它的速度很慢且滞后),并且能够提交对 perforce 的更改。git clone --depth理想情况下,使用稀疏克隆来减少笔记本电脑磁盘的使用会很好。

4

2 回答 2

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命令都应该像往常一样工作。

于 2015-02-20T10:38:53.647 回答
3

不可以git p4通过与 Perforce 结帐同步(它是一些 p4 命令的包装器)来工作,因此您还需要让 Perforce 结帐可访问。

您可以将 Git 存储库克隆到您的笔记本电脑,完成您的工作,将您的更改推送到该 Git 存储库,并git p4在您准备好提交更改时从那里运行。

于 2015-02-19T18:31:10.690 回答