我编写了一个脚本,Readme.md通过扫描源代码生成文件(用于GitHub).每次在我进行新提交之前,我都会手动运行此脚本进行更新Readme.md.如果这项工作自动完成,肯定会更好.
目前我正在使用pre-commitgit hook,它只能部分工作.该Readme.md文件被更新,但更新不是这个承诺的一部分.我必须将它包含在下一次提交中.
有没有办法运行此脚本并使更新成为此提交的一部分?
根据这个 SO thread (Can a Git hook automatically add files to the commit?),git add不会在使用最新版本的 git 的预提交钩子上工作。
作为一种解决方法,您可以使用 pre-commit 和 post-commit 钩子来生成您的Readme.md然后在您使用 post-commit 钩子提交后提交它,然后用您的修改第二次提交。
不是我的想法,按照原始解释的链接。
@bitluck在我链接的线程上回答:
触摸一个文件 .commit 什么的。(一定要将此添加到 .gitignore)
Run Code Online (Sandbox Code Playgroud)#!/bin/sh echo touch .commit exit如果 .commit 存在,你就知道一个提交刚刚发生,但是一个 post-commit 还没有运行。因此,您可以在此处生成代码。此外,测试 .commit 以及它是否存在:
- 添加文件
- commit --amend -C HEAD --no-verify(避免循环)
删除 .commit 文件
Run Code Online (Sandbox Code Playgroud)#!/bin/sh echo if [ -a .commit ] then rm .commit git add yourfile git commit --amend -C HEAD --no-verify fi exit
| 归档时间: |
|
| 查看次数: |
2250 次 |
| 最近记录: |