Git post-receive hook开始表现奇怪

时间:2016-09-20 05:31:43

标签: git azure-web-sites kudu

我们在Azure中托管了许多由git管理的网站,每个开发人员都有一个本地存储库,并且共享网络驱动器上有一个裸源存储库,我们都拥有完全访问权限。部署由原始仓库中的post-receive挂钩处理,只执行此操作:

git push https://login:pw@website.scm.azurewebsites.net:443/website.git HEAD:master

对于几乎所有这些网站来说,这已经运行了近一年。然而!上个月,一个特定网站开始执行以下操作,大部分时间但并非总是

$ git push origin master
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 125.22 KiB | 3.00 KiB/s, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: error: src refspec HEAD does not match any.
remote: error: failed to push some refs to 'https://login:pw@website.scm.azurewebsites.net:443/website.git'

如果我只是复制post-receive hook的确切内容并直接运行它,它总能正常工作:

$ git push https://login:pw@website.scm.azurewebsites.net:443/website.git HEAD:master
(omitting all the usual git messages)
remote: Updating branch 'master'.
remote: ...... (omitting deployment messages)
remote: Deployment successful.

如果我尝试通过在某处添加空格并再次推送到原点进行调查,它可以正常工作并按预期进行部署:(注意双重"遥控器")

$ git push origin master
(omitting all the usual git messages)
remote: remote: Updating branch 'master'.
remote: remote: ...... (omitting deployment messages)
remote: remote: Deployment successful.

也就是说,它一直正常,直到我放弃调查,然后下周营销需要我们紧急部署一些更改,然后它拒绝再次工作。

我已经查看了有关此错误的各种SO问题,他们主要讨论缺少第一次提交的空克隆回购,但这些回购都有很多提交,并且分支名称也都很好(否则它根本不起作用,对吗?)。它有效有时的事实真的让我感到困惑......可能是什么问题?和Kudu有什么关系?我宁愿避免只是删除网站的git存储库并重新创建它;即使这解决了问题,也意味着我从未有机会理解问题。

0 个答案:

没有答案