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