質問: バージョン管理にgitを使っている方へ質問です。 こんな感じでWebアプリを管理したいと思っています。 1 ローカルでgitレポジトリを作ってバージョン管理する 2 ローカルでgit commitしたものをリモートレポジトリにpush 3 pushした後に、リモートのwebサイトが更新したファイルをpullして同期 ローカルでcommit→リモートpush→webサイトに更新を同期、というサイクルを築きたいです。gitを使ってバージョン管理してwebサービスやアプリをメンテしている方は、どのようにして開発環境と本番環境を同期しているのかが知りたいです。 git利用時のオススメの管理手法や、上記のような仕組みを実現できる方法などをご教示下さい。情報提供お待ちしています。 よろしくお願いいたします。
回答: リモートのリポジトリでhooks/post-receiveというファイル名でスクリプトを仕込んでやれば良いです。gitはpushされる度にこのスクリプトを起動してくれます。 例えば↓こんなことがしたいわけですよね。 git push したらサイトを更新するようにした « layer13 リモートリポジトリとWEBサイトが同じサーバで権限の問題もなければこのサイトのようにローカルでコマンドを叩くもよし、WEBサーバが別にあるのであればsshでリモートサーバのコマンドを叩いたりrsyncで公開したりとpushされたときに実行したいコマンドを好きに書いてください何をするかは自由です。