我部署了一台服务器。我正在写一个crontab任务。它使用一个python脚本,需要检查是否有新的存储库推送。如果找到新的推送,它将拉取并更新服务器代码,并应重新启动服务器。
我的问题是如何让python脚本知道存储库中是否有新的提交?
我知道你可以使用
git rev-list deployment..origin/deployment
检查远程服务器上是否有可用的提交。
但是如何在python脚本中实现并让它决定知道它需要拉?
由于 尼克
答案 0 :(得分:2)
在任何情况下都需要联系服务器,所以你也可以拉。
如果您在拉动时在当前分支上,并且想要检测当前分支是否已更改,则可以随时执行(注意:用shell编写)
BEFORE=$(git rev-parse HEAD)
# git pull here
AFTER=$(git rev-parse HEAD)
# Changes if $BEFORE is different from $AFTER
答案 1 :(得分:1)
fge是正确的。如果没有先执行git pull origin
或git fetch origin
,您无法看到其他人是否已推送。您的命令首先使用git fetch origin
。
git fetch origin
git rev-list deployment..origin/deployment