我正在尝试在git中构建一个pre-commit脚本。在该脚本中,如果某个特定文件夹已更改,我打算运行任务。为了测试,在我的脚本中,我有以下代码:
这将导致...
git diff --cached | grep -q "^my/folder"
这将导致...
Not a git repository
To compare two paths outside a working tree:
usage: git diff [--no-index] <path> <path>
pwd
命令显示我在正确的目录中,$GIT_DIR
是 .git
。我曾经认为 --cached
是让钩子起作用的特殊方法。有没有办法做到这一点?
GIT_DIR
解决了这个问题。 - Hounshell--work-tree
选项吗?--git-dir
可以工作,但你还需要传递--work-tree
。 - John Szakmeister