ライブサイトをミラーするためにgitリポジトリを作成しました(これはベアでないgitリポジトリです):
git clone --mirror ssh://[email protected]/path/to/repo
さて、このミラーのクローンをリモートのオリジンからのすべての変更で更新し続けるには、どのコマンドを使わなければならないでしょうか?
コミット、参照、フック、ブランチなど、すべてを更新し続けたいのですが。
ありがとうございます!
コミット、参照、ブランチ、そして"et cetera"に関しては、Magnusの回答がそのまま使えます(git remote update
)。
しかし残念なことに、私が望んでいたようなクローン
/ミラー/
更新`フック**の方法はありません...。
フックのクローン/ミラーリングについて、とても興味深いスレッドを見つけました:
http://kerneltrap.org/mailarchive/git/2007/8/28/256180/thread
私は学んだ:
フックはリポジトリのコンテンツの一部とはみなされません。
.git/description`フォルダのように、フックと同様にクローンされないデータがあります。
hooksディレクトリにあるデフォルトのフックは
TEMPLATE_DIR` にあります。
git には興味深い template
という機能があります。
ということで、この "フックをクローンすること" を無視するか、ミラーの目的(バックアップと他のクローン用のソースのみ)を考えると、rsync
戦略を取るかもしれない。
まあ...。フックのクローン化については忘れて、git remote update
のやり方にこだわろうと思う。
clone
/update
プロセスで管理されていないことを指摘しました。そのため、厳密なバックアップには rsync
または同等のものを使用する必要があります。私の場合、これはあまり必要ではないので(フックや隠し場所などを持たない余裕がある)、私が言ったように、リモート更新
にこだわるつもりだ。ありがとう!自分の"git-fu"を少し改善しました... :-)
本当に push --mirror
の代わりにブランチをプルして欲しい場合は、こちらを参照してください:
この回答には、比較的簡単にこれを実現するための詳細な手順が書かれています: