當我使用指定郵件進行提交時,規定某些git掛鉤更改項目中的文件的最佳方式是什麼? 例如,當我做$git commit -m "MODIFY"
我想鉤的腳本以某種方式修改我的文件。文件的修改不是問題。問題是如何讓git鉤子將特定的消息識別爲修改觸發器。當git提交指定郵件時在項目中更改文件
回答
您可以使用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
&傳中讀取最後提交信息匹配模式
在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' –
創建一個名爲'post-commit'的新文件 –
- 1. Git更改沒有提交提交和未跟蹤文件
- 2. 的git - >文件列表顯示在最近提交更改特定目錄
- 3. 查找指定提交中已更改行的文件
- 4. git list在幾次提交中更改文件
- 5. 用Git更改文件夾名稱,然後提交更改?
- 6. Git:撤消未提交的更改以重置特定文件
- 7. Git電子郵件掛鉤包含提交消息和更改的文件
- 8. 由Intellij IDEA在更新項目和提交更改時執行的Git命令
- 9. 提交項目沒有顯示更改提交到Git倉庫在Eclipse
- 10. 顯示傳入的git提交中更改了哪些文件
- 11. 當'git filter-branch'失敗時,從特定提交中移除特定文件
- 12. 單鍵上傳 - 提交文件 - 更改時自動提交文件。 JQuery
- 13. 產生從Git項目的補丁文件沒有提交
- 14. Git:提交部分更改
- 15. 更改Git提交信息
- 16. 如何更新Git提交中的用戶名/電子郵件?
- 17. Git如何從分支上的特定提交中更改文件名
- 18. 郵件列表以檢查Git提交
- 19. Git blame提交特定代碼範圍的特定文件的更改
- 20. 僅在Git中的一個目錄中提交更改
- 21. 使GIT自動提交每個文件更改
- 22. 如何自動分割git提交單獨文件的更改
- 23. 每當有人提交更改時,如何向整個項目發送已提交更改的差異?
- 24. GIT Source Control在文件夾中更改文件時觸發
- 25. 在過去提交git中修改單個文件
- 26. 主目錄中的Git Init - 現在無法提交更改
- 27. 使用Git Extensions在Visual Studio 2008中提交項目變更
- 28. 文件在提交之間改變,但限制文件列表更舊提交
- 29. git的日誌文件名--follow沒有顯示提交更改的文件
- 30. 從混帳TFVC/Git Visual Studio Online項目中獲取git提交的電子郵件提醒
是你想要的文件來修改git的跟蹤?我認爲它可以或應該只做,如果文件*不被*跟蹤git。 –
@AleksandarDimitrov它應該被跟蹤... –
是否有臨時存儲提交消息的變量? pre-commit hook的腳本在提交之前執行,因此消息應該存在某處 –