2017-02-27 31 views
0

當我使用指定郵件進行提交時,規定某些git掛鉤更改項目中的文件的最佳方式是什麼? 例如,當我做$git commit -m "MODIFY"我想鉤的腳本以某種方式修改我的文件。文件的修改不是問題。問題是如何讓git鉤子將特定的消息識別爲修改觸發器。當git提交指定郵件時在項目中更改文件

+0

是你想要的文件來修改git的跟蹤?我認爲它可以或應該只做,如果文件*不被*跟蹤git。 –

+0

@AleksandarDimitrov它應該被跟蹤... –

+0

是否有臨時存儲提交消息的變量? pre-commit hook的腳本在提交之前執行,因此消息應該存在某處 –

回答

0

您可以使用post-commit鉤子。

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

整個提交過程完成之後,在post-commit鉤子 運行。它不需要任何參數,但可以通過運行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 

你可以通過grep的通過log -1 HEAD &傳中讀取最後提交信息匹配模式

+0

在hooks文件夾中,我只看到以下文件:'applypatch-msg.sample pre-applypatch.sample pre-push.sample commit-msg.sample pre-commit.sample pre-rebase.sample post-update.sample prepare-commit-msg.sample update.sample' –

+0

創建一個名爲'post-commit'的新文件 –

相關問題