git - 如何在 git push 后运行 bash 脚本

标签 git bash github hook githooks

我想知道如何在推送到 github 后在本地 repo 中执行 bash 脚本。

bash 脚本位于文件夹的根目录中。我猜它可以根据它被调用的位置来回移动。 我查看了 git 钩子(Hook),但没有推送后钩子(Hook),而且我不太了解其他钩子(Hook)。

我正在尝试在推送后调用 jenkins 构建。我研究了在 github 上使用接收后 url 等推送后通知 jenkins 的方法,但似乎对我没有任何作用。

这是我要运行的脚本:

#!/bin/bash/
java -jar jenkins-cli.jar -s http://localhost:8080/ build Test

谢谢! 瓦伦

最佳答案

这很容易。有一个脚本可以运行。您将必须修改 .git/hooks/post-commit 以找到您需要运行的脚本。

mv .git/hooks/post-commit.sample .git/hooks/post-commit
vim .git/hooks/post-commit

我在以下位置找到了这个:git-scm.com: Git Hooks

如果没有.git/hooks/post-commit.sample 文件,没关系,只需从头开始创建.git/hooks/post-commit (请记住使用 chmod +x 使脚本可执行),例如:

#!/bin/sh
echo look at me I am the post-commit script
pwd
# call the script you want

做一个测试提交,你应该看到脚本的输出,就在提交的常规输出之前。

关于git - 如何在 git push 后运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16864259/

相关文章:

最近 checkout 分支的 git 别名

linux - 备份 bash 脚本的第一个参数

git - 如何禁用github上的环境选项卡

升级到 Windows 10 后 Git-Bash 命令提示符不会打开

GitBash 通常很慢

git - 是否可以使用交互式 git rebase 从历史记录中删除文件?

bash - 为文本文件的每一行运行命令 (Bash)

linux - 无法获取 .screenrc,它说找不到命令

azure - 如何从 Github 上完全删除 Azure-Pipelines

git - 在 Git 中创建新分支时可以添加消息/注释/评论吗?