git post接收挂钩开始出现异常行为

8dtrkrch  于 2021-06-20  发布在  Kudu
关注(0)|答案(0)|浏览(178)

我们有许多网站托管在azure中,由git管理,每个开发人员都有一个本地repo,在共享网络驱动器上有一个裸源repo,我们都可以完全访问。部署由源repo中的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钩子的确切内容并直接运行它,它总是可以正常工作:

$ 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.

如果我尝试通过在某处添加一个空格并再次推到原点来进行调查,它工作正常,并按预期进行部署:(注意双“remotes”)

$ 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问题,它们主要讨论缺少第一次提交的空克隆repo,但是这些repo中都有大量的提交,分支名称也都很好(否则根本不起作用,对吧?)。事实上,它有时真的让我讨厌。。。有什么问题吗?跟Kudu有关吗?我更希望避免仅仅删除网站的git存储库并重新创建它;即使这解决了问题,也意味着我永远没有机会理解问题。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题