是否可以克隆 git-p4 存储库?

Is it possible to clone git-p4 repo?

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

这是用例:我有一台台式机,带有从 perforce (git p4 clone <somepath>@all) 克隆的完整存储库,我想将它克隆到笔记本电脑而不触及 p4 服务器(link 它很慢而且laggy) 能够将更改提交给 perforce。理想情况下,使用 git clone --depth 和稀疏克隆来减少笔记本电脑磁盘使用会很棒。

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

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

在原始 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 命令都应该照常工作。