hooks/post-receive
次のスクリプトをフックとしてベア git リポジトリに追加すると、次のようになりますfoo.git
。
#!/bin/sh
GIT_WORK_TREE=/bar git checkout -f
その後、誰かがリポジトリにプッシュするたびに、現在の状態が directory で更新されbar
ます。
これにはbar
、 とfoo.git
が同じマシン上にあることが必要です。
チェックアウトがリモートマシンで行われるように変更する最も簡単な方法は何baz:/bar
ですか?
1つの方法は次のとおりです。
#!/bin/sh
GIT_WORK_TREE=/tmp/bar git checkout -f
rsync ... /tmp/bar baz:/bar
より良い方法はありますか?おそらく、中間一時ディレクトリは必要ありませんか? (そうでない場合、結果のディレクトリが直接チェックアウトされるのと同一になるように rsync に渡す正しいオプションは何ですか?)