【发布时间】:2020-08-23 14:12:24
【问题描述】:
我无法推送到我的 git 存储库。 git clone 和 git pull 工作正常,但 git push 不起作用。
我检查了here 等其他答案,尝试了git push origin master --force 等几种方法。但错误仍然相同。
这是屏幕截图。
其他细节:
$ git show-ref refs/remotes/origin/master
8a205a0741f85fa309031a45f3613bf95a99148f refs/remotes/origin/master
$ git rev-parse --symbolic-full-name master
refs/heads/master
$ git rev-parse master
35ae39a241cd6bbfe7a9092f72b08279159e0056
$ git show-ref master
35ae39a241cd6bbfe7a9092f72b08279159e0056 refs/heads/master
8a205a0741f85fa309031a45f3613bf95a99148f refs/remotes/origin/master
请帮助我摆脱这个错误。
更新
$ git ls-remote
From https://xxx.git
8a205a0741f85fa309031a45f3613bf95a99148f HEAD
8a205a0741f85fa309031a45f3613bf95a99148f refs/heads/master
58feda6564bd52b9cce53da9862343aefd704202 refs/heads/new-0505
f24cd00e2f587689cdb92671769817c271bf0759 refs/heads/telestop
2a1afdf637a9108471eeddc755d49b74ef51e567 refs/meta/gitblit/reflog
8a205a0741f85fa309031a45f3613bf95a99148f refs/remotes/origin/master
【问题讨论】:
-
你能试试
git push origin master:master吗?老实说,我无法解释为什么 - 我四处寻找你的错误,这是更常见的建议之一,但原因却大不相同,据我所知,你不属于这些。唯一的共同点是 Git 对分支和实际分支的了解存在一些错误。在一种情况下,它试图推送到大写错误的分支名称,另一种情况是推送到分支名称a/b,但已经有一个分支a。或者本地 git 索引中可能有垃圾。 -
@VLAZ 感谢您的指示。但是
git push origin master:master的输出与git push origin master相同。 -
failed to lock是您的 Git 报告从 other Git 转发的错误,并且至少在这种情况下无法锁定那里,不是由于您可以修复的任何问题从你的终点。您必须让有权访问服务器的人进入,看看有什么问题并在那里修复它。 -
可能是权限问题,尽管细节部分取决于服务器运行的操作系统以及该操作系统的配置方式。 Windows 系统存在打开文件的问题;当您打开最严格的安全选项 (SELinux) 时,Linux 系统将无法使用。
-
@torek 你是对的。我已经从服务器检查了
ref/heads,其中存在master.lock文件。删除文件后,git push成功。您能否发表您的推荐作为答案并解释创建锁定文件时可能出现的情况?