在git中追踪远程/p4/master分支

3

我正在克隆一个最初由git-p4生成的repo。git-p4使用“remotes/p4/master”分支,我想跟踪该分支。我如何告诉正在克隆该repo的git也要跟踪“remotes/p4/master”分支?这样我就可以检出“origin/remotes/p4/master”或其他分支了。

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

比如在 info-service.git 中,你可以获取 refs/remotes/p4/release/1.1 并将其变为你本地克隆仓库中的 refs/remotes/origin/p4/release/1.1,然后使用 git checkout -b r1.1-fixes origin/p4/release/1.1 基于此创建一个分支。

话虽如此,在我的Perforce副本仓库中,我会创建实际的分支以映射所有p4远程分支,这样可以避免上述所有操作。它还给了我机会从p4路径前缀到git分支名称进行修改(因此p4/main 变成了 masterp4/release/1.1变成了r1.1等)。 我使用自己的p4-to-git复制工具,但你也可以通过循环 p4 远程引用使用git for-each-ref并使用git update-ref来设置本地分支。


3
你好,araqnid。你的 P4 到 Git 的复制是否可以公开使用?我想将其与 git-p4 进行比较。 - joshk0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接