Git 未暂存 changes/file 更改的挂钩

Git hook for unstaged changes/file changes

我想编写一个脚本来监视 git 跟踪的所有 files/folders,以便在其中任何一个发生更改时通知我。我正在寻找文件 changes 而不一定是暂存的更改。

我一直在梳理各种 SO 问题和文档,但我找不到任何相关示例来实现基于 git 的文件系统观察器,因为我可能想要在一个系统上跨多个存储库和可能的数百个文件实现这一点,而不会非常低效。

git 是解决这个问题的正确方法吗?即使在很多很多文件中使用 fswatch 会更好吗?

非常感谢

Git 本身不监视文件系统 (*) 因此在文件更改时也不提供任何挂钩。它只会在执行 git 命令时检查文件系统。

因此没有(也不可能)任何在文件更改时执行的挂钩。如果需要,您需要找到另一种方式来监视文件系统。

(*) 显然有一种方法可以实际 use file system monitoring in git,但这似乎只用于加速 git status(和其他操作)并且仍然没有'这并不意味着 git 会主动监控变化。它只是将“检查每个文件的修改”替换为“检查自上次修改以来更改的文件列表”。