我看过the githooks manpage但除非我遗漏了一些东西,否则我看不到本地的、推送后的 git 钩子(Hook)的选项。在我将 master 分支推送到 GitHub 存储库后,我想要一个更新我的 Web 服务器上的 api 文档(我已经有一个脚本)。当然我也可以写自己的脚本,结合 git push 和 api docs 运行,但感觉有点不雅。
最佳答案
这个问题的另一个解决方案是为执行 .git/hooks/pre-push
和 .git/hooks/post 的
脚本。可能的包装器可能如下所示:git push
设置一个包装器-在 git push
调用之前和之后推送
#!/bin/sh
GIT_DIR_="$(git rev-parse --git-dir)"
BRANCH="$(git rev-parse --symbolic --abbrev-ref $(git symbolic-ref HEAD))"
PRE_PUSH="$GIT_DIR_/hooks/pre-push"
POST_PUSH="$GIT_DIR_/hooks/post-push"
test -x "$PRE_PUSH" &&
exec "$PRE_PUSH" "$BRANCH" "$@"
git push "$@"
test $? -eq 0 && test -x "$POST_PUSH" &&
exec "$POST_PUSH" "$BRANCH" "$@"
保存为 git-push-wh
在你的 PATH
某处,如果你想的话,它可以被调用为 git push-wh
用钩子(Hook)推。
关于git - git push 后本地执行 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1797074/