私の現在のワークフローは、私のライブ サイトと私のステージングサイトであるブランチmasterとstagingそれぞれのフォルダーをチェックアウトする post-receive フックを備えた Web サーバー上の git リポジトリを使用してセットアップされています。masterstaging
ファイルの名前を変更するまでは問題ありません。たとえば、フォルダーを変更した場合、フックがブランチをチェックアウトすると、フォルダーが作成されますjsが、フォルダーとその内容は以前のコミットから保持されます。ブランチをローカルでチェックアウトしたときにファイルがなくなったため、ファイルの名前が変更されたことをgitが検出したと確信しています。javascriptjavascriptjs
これは私の受信後フックです:
#!/bin/sh
GIT_WORK_TREE=/var/www/mysite/live git checkout -f master
GIT_WORK_TREE=/var/www/mysite/staging git checkout -f staging