我开发了一个与Git交互的程序,它提取origin/master
并创建提交并将其推回。
由于某些原因,远程存储库中的提交将被覆盖,并且程序在同步分支时遇到问题。也就是说,它在提取后执行检查以确保rev-parse master
等于rev-parse refs/remotes/origin/master
,并且该检查在重写后始终失败。
git log origin/master
显示远程存储库中不存在的提交,并且提交消息始终为
Merge branch 'master' of {remote URL}
但是git log master
在远程存储库中显示与HEAD相同的提交。
有没有一种方法可以解决损坏的refs/heads/origin/master
,而无需进行重新克隆或强制推送(远程分支受强制推送保护)?有什么类似于
git checkout -b temp
git branch -M origin/master # force overwrite refs/heads/origin/master