當我使用指定郵件進行提交時,規定某些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. git:如何在提交時忽略對文件的更改?
- 4. Git更改沒有提交提交和未跟蹤文件
- 5. 的git - >文件列表顯示在最近提交更改特定目錄
- 6. 查找指定提交中已更改行的文件
- 7. git list在幾次提交中更改文件
- 8. 用Git更改文件夾名稱,然後提交更改?
- 9. Git:撤消未提交的更改以重置特定文件
- 10. 使用git查看對特定文件的未提交更改
- 11. Git電子郵件掛鉤包含提交消息和更改的文件
- 12. git pre-commit hook:已更改的文件不在當前提交中
- 13. git commit --amend - 當沒有更改時,提交散列被更改
- 14. 在項目開始時提交Git
- 15. 由Intellij IDEA在更新項目和提交更改時執行的Git命令
- 16. Git掛鉤,修改提交文件
- 17. 提交項目沒有顯示更改提交到Git倉庫在Eclipse
- 18. 顯示傳入的git提交中更改了哪些文件
- 19. 提交到git的java文件更新
- 20. 當'git filter-branch'失敗時,從特定提交中移除特定文件
- 21. 在git倉庫中提交uncommited文件
- 22. 防止在git中提交文件
- 23. 單鍵上傳 - 提交文件 - 更改時自動提交文件。 JQuery
- 24. Git - 創建文件時發現提交
- 25. Git鉤子 - 在提交時自動更新文件md5sum
- 26. Git沒有提交文件
- 27. Git提交一些文件
- 28. 產生從Git項目的補丁文件沒有提交
- 29. Git嘗試將子模塊文件提交到父項目
- 30. 作爲提交將增量項目文件夾移動到Git
是你想要的文件來修改git的跟蹤?我認爲它可以或應該只做,如果文件*不被*跟蹤git。 –
@AleksandarDimitrov它應該被跟蹤... –
是否有臨時存儲提交消息的變量? pre-commit hook的腳本在提交之前執行,因此消息應該存在某處 –