Python crontab自动git拉取

Python crontab自动git拉取,python,git,crontab,git-pull,Python,Git,Crontab,Git Pull,我部署了一个服务器。我正在写一个crontab任务。它使用一个python脚本,需要检查是否有新的推送到存储库中。如果它发现一个新的推送,它将拉取并更新服务器代码,并应重新启动服务器 我的问题是如何让python脚本知道是否有新的提交到存储库中 我知道你可以用 git rev-list deployment..origin/deployment 检查远程服务器上是否有可用的提交 但是,如何在python脚本中实现并使其决定是否需要拉取 谢谢 尼克在任何情况下,你都需要联系服务器,所以你最好拉

我部署了一个服务器。我正在写一个crontab任务。它使用一个python脚本,需要检查是否有新的推送到存储库中。如果它发现一个新的推送,它将拉取并更新服务器代码,并应重新启动服务器

我的问题是如何让python脚本知道是否有新的提交到存储库中

我知道你可以用

git rev-list deployment..origin/deployment 
检查远程服务器上是否有可用的提交

但是,如何在python脚本中实现并使其决定是否需要拉取

谢谢
尼克

在任何情况下,你都需要联系服务器,所以你最好拉一下

如果拉取时处于当前分支上,并且希望检测当前分支是否已更改,则始终可以这样做(注意:在shell中编写)


fge是正确的。如果没有先执行
git-pull-origin
git-fetch-origin
,您就看不到是否有其他人推了。您的命令将首先与git fetch origin一起使用

git fetch origin
git rev-list deployment..origin/deployment

为什么不
fetch
并有条件地合并并重新启动(如果有需要合并的内容)?您是否偶然使用了github?服务钩子之类的东西可能比cron更好。不是github。。但是你怎么知道什么时候需要合并呢?此服务器将远程位于数据中心..git rev parse HEAD做什么?
git rev parse
为给定的refspec打印SHA1<代码>头是当前分支的头。refspec也可以是本地或远程分支等。
git fetch origin
git rev-list deployment..origin/deployment