在对上一个问题的回答之后,我实现了一个 Git 挂钩脚本,每当更新工作目录时都需要触发该脚本。我将此脚本链接到 .git/hooks 中的以下内容:
- 结帐后
- 提交后
- 合并后
这通常有效,但并非总是如此。我发现的一个案例是git stash
。这是一个问题,因为我的钩子生成了一个文本文件,我还用它标记git update-index --assume-unchanged
告诉 Git 我不想签入更改(签入一个空版本)。但是,git stash
将恢复假设未更改的文件(到空文件),这意味着钩子需要再次运行,但在git stash
.
我怀疑也可能存在类似的问题git rebase
,但这并不容易解释。
我想要一个在更新工作目录后Git 将始终运行的钩子。这可能吗?