3

git-p4 によって最初に生成されたリポジトリを複製しています。git-p4 は、追跡したい「remotes/p4/master」ブランチを使用します。そのレポを複製している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.gitに含まれるようにフェッチさrefs/remotes/origin/p4/release/1.1れ、それに基づいてブランチを作成できますgit checkout -b r1.1-fixes origin/p4/release/1.1

とはいえ、私の Perforce レプリカ リポジトリでは、実際のブランチを作成してすべての p4 リモート ブランチをミラーリングし、主に上記のすべてを実行する必要がないようにしています。また、p4 パス プレフィックスから git ブランチ名への名前付けを修正する機会も与えてくれます (so gets 、 becomesなどp4/main) 。私は独自の p4-to-git レプリケーションを使用していますが、p4 リモート参照をループし、.masterp4/release/1.1r1.1git for-each-refgit update-ref

于 2009-04-29T12:58:30.447 に答える