3

我正在克隆一个首先由 git-p4 生成的存储库。git-p4 使用我想跟踪的“remotes/p4/master”分支。我如何告诉正在克隆该 repo 的 git 也跟踪 remotes/p4/master?这样我就可以查看“origin/remotes/p4/master”之类的东西。

4

1 回答 1

3

您也可以调整获取属性以镜像这些引用,尽管不是标准克隆的一部分。

所以一个像这样的序列:

git clone ~/p4/git/services/info-service.git
cd info-service
git config --add remote.origin.fetch +refs/remotes/p4/*:refs/remotes/origin/p4/*
git fetch origin

refs/remotes/p4/release/1.1例如,这将获取info-service.gitrefs/remotes/origin/p4/release/1.1您的克隆中,您可以基于它创建一个分支git checkout -b r1.1-fixes origin/p4/release/1.1

说了这么多,在我的 Perforce 副本存储库中,我创建了实际的分支来镜像所有 p4 远程分支,主要是为了避免必须经历上述所有事情。它还让我有机会修复从 p4 路径前缀到 git 分支名称的命名(so p4/mainbecome masterp4/release/1.1becomer1.1等)。我使用我自己的 p4 到 git 复制,但是您可以通过循环使用 p4 远程引用git for-each-ref并使用git update-ref.

于 2009-04-29T12:58:30.447 回答