【问题标题】:How to remove git hooks如何删除 git 钩子
【发布时间】:2023-04-08 00:16:02
【问题描述】:

我在预提交文件中设置了一个 git 挂钩,以便在任何提交之前运行 git pull。现在我已经删除了该文件并多次重新启动计算机,但在我提交之前该挂钩仍在运行。

我怎样才能完全删除或禁用它?

【问题讨论】:

    标签: git githooks


    【解决方案1】:

    我知道是什么原因造成的:
    我在 git 核心目录中创建了我的 pre-commit 挂钩,但 git 在项目的 .git/hooks/ 目录中创建了一个预提交挂钩。我刚刚删除了它。

    【讨论】:

    • 如何将此更改推送到远程仓库?
    • .git 目录不会被推送到远程。它只是在本地保存有关存储库的信息。
    • 我的.git/hooks 在我一次又一次地删除它之后仍然出现,有什么建议吗?
    • @hxpax 放目录。只需删除其内容。
    • 在您的项目根目录中运行rm -rf .git/hooks
    【解决方案2】:

    根据文档,git hooks 应该驻留在$GIT_DIR/hooks/ - 验证这个目录不包含pre-commit hook 文件

    如果问题仍然存在,您可以使用 --no-verify 标记您的 git commit(这应该绕过预提交挂钩)

    信息可以在以下位置找到:

    https://git-scm.com/docs/githooks

    【讨论】:

    • 谢谢罗杰。我在$GIT_DIR/hooks/ 中基于pre-commit.sample 创建了pre-commit 钩子,然后我将其删除。我什至使用locate pre-commit 搜索了钩子,但什么都没有,但它还在运行。
    • --no-verify 只是部分有用。如果您想做git checkout 或想做git rebase -i,而这些提交将不被允许,那么您无能为力。
    猜你喜欢
    • 2019-02-05
    • 2023-03-04
    • 2018-12-13
    • 2019-08-08
    • 2015-04-29
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    • 2019-12-26
    相关资源
    最近更新 更多