回答:
これは、ミラーで実行する必要があるコマンドです。
git remote update
コミット、リファレンス、ブランチ、および「その他」に関しては、マグナスの回答が機能します(git remote update
)。
しかし残念ながら、私が望んでいたようにclone
/ update
フック /ミラーリング/ する方法はありません...
フックのクローン/ミラーリングに関するこの非常に興味深いスレッドを見つけました:
http://kerneltrap.org/mailarchive/git/2007/8/28/256180/thread
私は学んだ:
フックはリポジトリのコンテンツの一部とは見なされません。
.git/description
フックのように、フォルダーのように複製されないデータは他にもあります。
hooks
ディレクトリに表示されるデフォルトのフックは、TEMPLATE_DIR
template
gitにはこの興味深い機能があります。
そのrsync
ため、ミラーの目的を考えると、この「フックのクローン」を無視するか、戦略を立てるかのいずれかになります(バックアップ+他のクローンのソースのみ)。
ええと...私はフックのクローンを忘れて、git remote update
道に固執します。
clone
/ update
プロセスによって管理されないだけでなく、隠し場所、再配置なども管理されないことを指摘しました。したがって、厳密なバックアップrsync
または同等のものは、実際に進むべき道です。私の場合、これは本当に必要ないので(フックや隠し場所などを持たない余裕があります)、先ほど言ったように、私はに固執しますremote update
。ありがとう!私自身の「git-fu」を少し改善しました... :-)
ここを参照してください:Gitは後続のクローンのすべてのブランチをクローンしませんか?
の代わりにブランチをプルしてこれが本当に必要な場合push --mirror
は、ここを見ることができます:
git bareレポジトリの "fetch --all"はローカルブランチをリモートブランチに同期しません
この回答は、それを比較的簡単に達成する方法の詳細な手順を提供します。
push
(クローンのある場所から)受信側で実行する必要があるため、私には選択肢がありません。pull
ミラーリポジトリはベアリポジトリ(作業ツリーがないため「プル」もない)であるため、これもオプションではありません- git remote update
実際にすべてを実行しているようです(参照されている回答よりもはるかに簡単です)...とにかく、ありがとう!確かにリンクされた質問/回答には貴重な情報があります。
git fetch
ですか?それともgit remote update
一人でそれをすべてしますか?