我正在尝试创建一个 git 钩子来检查存储库中的特定文件夹是否有任何更新。例如,假设我对
/public
文件夹感兴趣。一些同事对该文件夹进行了更改,并且该更改位于 master 分支上。我仍然没有取消这些更改并继续在 master 上运行git pull
。我想要一个钩子来打印一条消息,通知对/public
文件夹进行了更改。
我猜正确的钩子是
post-merge
,但我不太确定如何检查哪些文件发生了变化,因为我们不知道有多少新提交。如果我能够从 git pull
处理 git 的输出,那将非常简单,但我认为挂钩无法访问触发它们的命令的输出。
您可以使用最后两个头之间的差异树检查更改的文件,例如 blew:
git diff-tree -r HEAD@{1} HEAD
如果您不需要提交 ID,您可以添加
--name-only
.