post-checkout hook 是否可以检查单个文件是否被检出?

Can a post-checkout hook check if a single file was being checked out?

我正在写一个 post-checkout 挂钩,但我想避免它 运行 如果满足某些条件,其中之一是在结帐时触摸一次文件。例如,如果我 运行 git checkout somebranch,我希望它为 运行,但如果我只想 git checkout -- some/touched/file.[=14,则避免它为 运行 =]

据我所知,post-checkout 脚本只传递了前一个和 post-checked-out 提交哈希,一些额外的数据可以从 git 回购的全局状态,但我不确定要检查什么以确定它是否只是一个正在检出的文件。

这可能吗?如果有怎么办?

post-checkout hook 的第三个参数是 1 表示分支签出或 0 表示文件签出,但无法了解刚刚签出的文件。

我想到的唯一方法——扫描整个工作树并收集修改日期非常接近当前时间(几秒内)的文件。