如果我们更改`git config core.hooksPath`,如何恢复为默认值

时间:2019-05-09 23:30:27

标签: git githooks git-config

默认情况下,在git repo根目录下运行时,它看起来是空的:

git config core.hooksPath

如果我们将git config core.hooksPath更改为git config core.hooksPath myhooks,我的问题是-我们如何将其恢复为默认值?是应该取消设置值(如何?),还是应该像在.git/hooks中那样将其设置为git config core.hooksPath .git/hooks

1 个答案:

答案 0 :(得分:1)

答案取决于设置的位置和您要更改的内容。如果您在本地存储库中设置了该选项,而您想撤消它,那么git config --unset core.hooksPath就足以取消设置它,这将使Git选择默认选项。

如果该选项是在较高级别的配置中设置的(例如,按用户或按系统),并且您不想从该位置删除该选项,只需对该存储库覆盖它,则可以使用{{1 }}(如果您位于非裸存储库中,则为git config core.hooksPath .git/hooks,如果您位于裸存储库中。

来自git config core.hooksPath hooks

  

路径可以是绝对路径,也可以是相对路径。相对路径是相对于运行挂钩的目录而言的。

来自git-config(1)

  

在Git调用一个钩子之前,它会将其工作目录更改为裸存储库中的$ GIT_DIR或非裸存储库中工作树的根。

因此,在非裸仓库中需要githooks(5),在裸仓库中需要.git/hooks