13

リポジトリにあるスクリプトを呼び出したい。

もちろん、次のことができます。

#!/bin/sh
../../myscript.sh

しかし、それは良くないと思います;)

コミット後のスクリプト内でプロジェクトのパスを取得するにはどうすればよいですか?

4

1 に答える 1

23

裸でないリポジトリを扱っている場合、post-commit1フックはリポジトリの作業ツリーの現在の作業ディレクトリで実行されます。したがって、必要はありません../../

スクリプトの完全なパスが必要な場合は、いつでも次のようにできます。

SCRIPT=$(readlink -nf myscript.sh)

git rev-parse --show-toplevel...または、作業ディレクトリへの絶対パスを取得するために使用できます。

SCRIPT=$(git rev-parse --show-toplevel)/myscript.sh

1 ...しかし、これは他のいくつかのフックには当てはまらないことに注意してください。たとえば、post-receiveベアリポジトリ以外のフックでは、現在の作業ディレクトリは.gitディレクトリです。

于 2011-03-09T16:25:00.380 に答える