我有一个pre-commit钩子在我的flatter项目目录中运行。
#!/bin/sh cd D: || exit cd AndroidProjects/json_test/ || exit flutter pub run
具体如下。我正在项目目录的本地终端上运行git命令(git commit),所以 D:AndroidProjects/json_test/> git commit 然后执行钩子。
D:AndroidProjects/json_test/> git commit
有没有一种方法可以让我在运行git commit时直接获得项目路径,而不用在内部硬编码?
像 the githooks documentation 说:
在Git调用钩子之前,它会将其工作目录更改为 $GIT_DIR 在光秃秃的存储库中或 非裸存储库。
$GIT_DIR
(阅读链接文档了解例外情况。)
因此,您可以检查当前工作目录,以找到工作树的顶层,假设是非裸存储库。