サーバーには、開発プロセスの原点であり、QA環境への展開を簡素化するためのベアリポジトリがあります。
だからpost-receiveそれは単にします
GIT_WORK_TREE=/home/dev git checkout -f
しかし、製品がより複雑になるにつれて、他のいくつかのことが起こるはずです。deploy.shそのため、リポジトリによって追跡されるスクリプトによって処理されるようになりました。ですから、私がやりたいのは、リポジトリ全体をチェックアウトする代わりに、チェックアウトのみdeploy.shして実行できるようにすることです。私はそのようなものがうまくいくと思いました:
SOURCE_PATH="/home/dev"
GIT_WORK_TREE=$SOURCE_PATH git checkout deploy.sh
$SOURCE_PATH"/deploy.sh"
しかし、エラーが発生しても機能しません。
error: pathspec 'deploy.sh' did not match any file(s) known to git.
私は何が間違っているのですか?それとも、このようにすることは不可能ですか?