【问题标题】:Git post-update hook not runningGit 更新后挂钩未运行
【发布时间】:2017-09-29 09:29:02
【问题描述】:

首先,我知道有很多类似的问题,例如this one

但是,通常有两个主要问题:

1.钩子文件不可执行 - 检查。这是我ls -l 的结果:

-rwxrwxr-x 1 root root  314 Sep 29 17:18 post-update

2.git 工作目录未设置-检查。这是我的更新后挂钩脚本:

unset GIT_DIR
cd ..
echo "testing"
chmod -R 755 path/to/my/target/directory

而且,即使我的路径是错误的,当我执行git pull 时,我也希望看到testing 这个词,但没有任何反应。我想这意味着我的更新后挂钩脚本没有运行?我错过了什么让它运行?

【问题讨论】:

  • post-update 是一个在远程存储库中部署并运行的钩子,因此git pull 无法调用它。如果你的本地仓库安装了post-update,那么从另一个仓库成功推送到本地仓库就可以触发它。
  • @ElpieKay 你是对的。我应该改用post-merge。介意将其作为答案以便我接受吗?

标签: git githooks


【解决方案1】:

添加:添加 --chmod=+x / --chmod=-x 选项

对于 core.filemode 设置为 false 的存储库中的路径,将不会检测(因此不会设置)可执行位,尽管用户可能仍希望将文件添加为可执行文件以与其他用户兼容core.filemode 功能。例如,添加 shell 脚本的 Windows 用户可能希望将它们添加为可执行文件,以便与非 Windows 用户兼容。

虽然这可以通过管道命令 (git update-index --add --chmod=+x foo) 来完成, 教授 git-add 命令允许用户设置使用他们已经熟悉的命令执行文件。

【讨论】:

    猜你喜欢
    • 2011-08-25
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    • 2011-07-02
    • 2014-08-10
    相关资源
    最近更新 更多