我寫了一個腳本,通過掃描源代碼生成Readme.md
文件(用於GitHub)。每次我做一個新的提交之前,我都會手動運行這個腳本來更新Readme.md
。如果這項工作自動完成,那肯定會更好。在提交之前運行腳本並在此提交中包含更新?
目前我正在使用pre-commit
git hook,它只能部分工作。 Readme.md
文件得到更新,但更新不是此提交的一部分。我必須將其包含在下一次提交中。
有沒有辦法運行這個腳本,並使更新的一部分,這個提交?
我寫了一個腳本,通過掃描源代碼生成Readme.md
文件(用於GitHub)。每次我做一個新的提交之前,我都會手動運行這個腳本來更新Readme.md
。如果這項工作自動完成,那肯定會更好。在提交之前運行腳本並在此提交中包含更新?
目前我正在使用pre-commit
git hook,它只能部分工作。 Readme.md
文件得到更新,但更新不是此提交的一部分。我必須將其包含在下一次提交中。
有沒有辦法運行這個腳本,並使更新的一部分,這個提交?
根據this SO thread (Can a Git hook automatically add files to the commit?),git add
將不會在最近版本的git的預提交鉤子上工作。
作爲一種解決方法,您可以使用預提交和提交後鉤子來生成您的Readme.md
,然後在您提交後提交鉤子後提交它,然後修改您的第二次提交。
不是我的想法,請按照原始解釋的鏈接。
由@bitluck回答的線程我聯繫:
觸摸文件.commit什麼的。 (一定要加這的.gitignore)
#!/bin/sh echo touch .commit exit
如果.commit存在,你知道犯剛剛發生但 提交後尚未運行。所以,你可以在這裏做你的代碼生成。 此外,測試.commit而且如果它存在:
- 添加文件
- 提交--amend -C HEAD --no - 驗證(避免循環)
刪除.commit文件
#!/bin/sh echo if [ -a .commit ] then rm .commit git add yourfile git commit --amend -C HEAD --no-verify fi exit