iOSアプリの1つに、gitリビジョンハッシュを取得してバージョン番号に入れるスクリプトがあります。このスクリプトでは、git --git-dir = "$ PROJECT_DIR" show -s --pretty = format:%hを実行します。ただし、ディレクトリがgitリポジトリではないというメッセージが表示されます。PROJECT_DIR varをエコーしてターミナルに移動すると、次のように機能します。
cd projectDirPath
git show -s --pretty=format:%h
動作しないのは次のとおりです。
git --git-dir=projectDirPath show -s --pretty=format:%h
私は何かが足りないのですか?ドキュメントには、-git-dirを使用してgitリポジトリへのパスを指定でき、最初にそのパスにcdした場合、すべてのgitコマンドが問題なく機能するため、指定されたパスは明らかにgitリポジトリであると記載されています。ただし、このパスにいない場合は、-git-dirを指定しても機能しません。