2017-02-27 5 views
0

指定されたメッセージでコミットするときにgitフックのいくつかがプロジェクト内のファイルを変更するようにするにはどうすればよいですか? たとえば、私が$git commit -m "MODIFY"をしているとき、フックのスクリプトが特定の方法でファイルを修正したいと思っています。ファイルの変更は問題ではありません。問題は、特定のメッセージを変更のためのトリガーとして認識するためにgit hookを作成する方法です。指定されたメッセージでコミットするときにプロジェクト内のファイルを変更する

+0

を一致させるためにはgrepを通してそれを渡す作ることを確認してくださいあなたはgitので追跡変更するファイルですか?ファイル*がgitによって追跡されていない場合にのみ、それを行うことができる、またはすべきであると私は思う。 –

+0

@AleksandarDimitrovそれは追跡する必要があります... –

+0

一時的ストアコミットメッセージの変数はありますか?プリコミットフックのスクリプトは、実際にコミットが行われる前に実行されるので、メッセージはどこかに存在するはずです –

答えて

0

post-commitフックを使用できます。

https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks

全体のコミット処理が完了すると、コミット後のフック 実行されます。パラメータは必要ありませんが、最後に をコミットするには、git log -1 HEADを実行します。一般に、このスクリプトは 通知などに使用されます。

以下は、.git/hooks/post-commitに配置できるサンプルです。そして、この実行ファイル

#!/bin/bash 
echo Running post-commit hook 
git log -1 --pretty=oneline HEAD | grep "MODIFY" && touch somefile.txt 

あなたはlog -1 HEAD &を経由して最後のコミットメッセージをフェッチすることができ、パターン

+0

フックフォルダには、次のファイルのみが表示されます: 'applypatch-msg.sample pre-applypatch.sample pre-push.sample commit-msg.sample pre-commit.sample pre-rebase.sample post-update.sample準備コミットmsg.sample update.sample' –

+0

'post-commit'という名前の新しいファイルを作成します。 –

関連する問題