即使内容是最新的,也要强制推送Git存储库

时间:2019-10-07 13:56:51

标签: git

我有一个本地git存储库,我将其推送到“云”平台中的某些存储库。 在我使用git push origin master进行推送之后,有一个脚本在后端被调用。问题是,如果存储库是最新的,而我尝试再次推送存储库,则会说该存储库已经是最新的,因此永远不会调用该脚本。我想知道是否有一种方法可以将相同的存储库重新推送到相同的端点。

更改回购库中的某些内容并重新推送的变通办法很明显。

2 个答案:

答案 0 :(得分:1)

要触发您的管道,您可以提交一个空的提交。为此,可以在创建提交时使用-allow-empty 选项。

data = str(data)

参考: https://git-scm.com/docs/git-commit

答案 1 :(得分:0)

如果您希望即使不更改特定引用也可以运行接收/更新挂钩,则必须像@UnbearableLightness所说的那样使用空提交抖动它,或者使用代理引用让挂钩知道什么与该参考的更新有关。我用它在受保护的仓库上运行任意命令,我只是将脚本推送到refs / commands,然后钩子运行它。您可以使用refs/proxy/*模式,并触发相同的后端进程,以减少对proxy/的引用的更新。甚至可能拒绝“ refs/proxy/heads/master”推送,并显示“好,我假装refs / heads / master已更新”消息。