我编写了一个脚本,通过扫描源代码生成Readme.md
文件(对于GitHub)。每次在我进行新提交之前,我都会手动运行此脚本来更新Readme.md
。如果这项工作自动完成,肯定会更好。
目前我正在使用pre-commit
git hook,它只能部分工作。 Readme.md
文件会更新,但更新不是此提交的一部分。我必须将它包含在下次提交中。
有没有办法运行此脚本并使更新成为此提交的一部分?
答案 0 :(得分:3)
根据this SO thread (Can a Git hook automatically add files to the commit?),git add
将无法使用最新版本的git进行预提交。
作为一种解决方法,您可以使用预提交和后提交挂钩来生成Readme.md
,然后在使用post-commit挂钩提交之后提交它,然后使用您的提交修改第二次提交。
不是我的想法,请点击原始解释的链接。
通过@bitluck在我链接的主题上回答:
触摸文件.commit或其他内容。 (务必将其添加到.gitignore)
#!/bin/sh echo touch .commit exit
如果.commit存在,你知道提交刚刚发生,但是 post-commit还没有运行。所以,你可以在这里进行代码生成。 另外,测试.commit以及它是否存在:
- 添加文件
- commit --amend -C HEAD --no-verify(避免循环)
删除.commit文件
#!/bin/sh echo if [ -a .commit ] then rm .commit git add yourfile git commit --amend -C HEAD --no-verify fi exit