git - 想要 git post receive hook 来进行新的提交和推送

标签 git push git-post-receive

我希望我的 post-receive hook 负责更新 repo 中的版本文件 本身,在某些条件下。所以,假设我的存储库中有一个文件 version.txt, 我希望帖子接收 Hook 更新 version.txt 中的版本字符串。

那将意味着对 repo 的又一次 push 。这可能吗?

谢谢!

最佳答案

您可以在您的服务器上拥有您的存储库的工作目录。在接收后,git pull 工作目录,根据需要更新 version.txt 并提交和推送。这将再次触发 post-receive,所以要小心你如何进行条件更新,否则它会进入一个循环。

#!/bin/sh
unset GIT_DIR
cd /path/to/repo.wd
git pull
echo "new content" > version.txt
git add version.txt
git commit -m "updating version.txt"
git push origin master

关于git - 想要 git post receive hook 来进行新的提交和推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5939564/

相关文章:

git - 为什么 `rm -rf` 在 git post-receive hook 中使用时的行为与 shell 不同?

git - 如何确定一个分支是否是 jenkins 文件中的默认分支?

python - 如何使用 gitpython 获取提交作者姓名和电子邮件?

github 提交的文件不显示

GIT:无法暂存更改以提交,在我提交更改之前无法 pull

Git post-receive - 如何检查推送的分支是否与主分支 merge

Git 开发到生产设置

git - 复制github风格的git服务器架构

mercurial - 当已经拉取所有更改时强制推到新的头部

使用接收后脚本在远程上进行 Git sparse-checkout