我正在编写一个检出后挂钩,但是我希望避免在满足某些条件的情况下运行它,其中之一是在检出单个触摸文件时执行。例如,如果我运行git checkout somebranch
,我希望它可以运行,但是如果我只想运行git checkout -- some/touched/file
,则可以避免它运行。
据我所知,post-checkout
脚本仅通过了之前和之后签出的提交哈希,还有一些其他数据可从git repo的全局状态中抓取,但我不确定检查是否只是被检出的单个文件。
这有可能吗?如果可以,怎么办?
答案 0 :(得分:1)
post-checkout hook的第三个参数对于分支签出是1,对于文件签出是0,但是无法了解刚刚签出的文件。
我想到的唯一方法是-扫描整个工作树并收集修改日期非常接近当前时间(几秒钟之内)的文件。