2009-04-28 91 views
3

我克隆了第一个由git-p4生成的repo。 git-p4使用我想跟踪的'remotes/p4/master'分支。我该如何告诉git,它是克隆该repo,以跟踪remotes/p4/master?这样我就可以查看“origin/remotes/p4/master”或其他东西。在git中跟踪远程/ p4/master分支

回答

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.gitrefs/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变为master,p4/release/1.1变成r1.1等)。我使用自己的p4-to-git复制,但通过使用git for-each-ref循环访问p4远程参考设置并使用git update-ref设置本地分支,您可以完成相同的工作。

+3

嗨araqnid,你的p4-> git复制公开吗?我想将它与git-p4进行比较。 – 2009-05-20 21:12:35