5

git clone既存のレポジトリにできるgit p4のでgit p4、新しいレポジトリに流用できますか?

ユースケースは次のとおりです。デスクトップ PC に perforce から複製された完全なリポジトリ ( git p4 clone <somepath>@all) があり、p4 サーバーに触れずにそれをラップトップに複製したい (リンクが非常に遅くて遅延がある)、変更を perforce にコミットできるようにする必要があります。理想的にはgit clone --depth、ラップトップのディスク使用量を削減するためにスパース クローンを使用することは素晴らしいことです。

4

2 に答える 2

3

元の git リポジトリには.git/refs、次のようなディレクトリ構造が必要です。

.git/refs/
.git/refs/heads
.git/refs/tags
.git/refs/remotes
.git/refs/remotes/p4

p4 情報を取得する[remote "origin"]には、複製されたリポジトリのエントリに次の行を追加する必要があります。

    fetch = +refs/remotes/p4/*:refs/remotes/p4/*

これは、複製されたリポジトリ内で次のコマンドを実行することによっても実現できます。

git config --add remote.origin.fetch '+refs/remotes/p4/*:refs/remotes/p4/*'

注:fetchエントリは上記のディレクトリ構造と一致するため、自分のエントリが同じかどうかを確認する必要があります。refspecsの詳細については、こちらを参照してください。

この時点では実行するだけで、git fetchこの瞬間からすべてのgit p4コマンドが通常どおり機能するはずです。

于 2015-02-20T10:38:53.647 に答える