从远程git存储库克隆后(在bettercodes) 我做了一些改变,承诺 并试图推动:

git push origin master

错误:

错误:不能锁定现有的信息/引用 致命:git-http-push失败

本案例涉及已经存在的存储库。

我之前做的是:

Git配置-global http。sslVerify假 git init Git远程添加[url] git克隆 更改数据 git提交

在'bettercodes'我没有访问git日志。

我用的是Windows。 具体的错误是:

C:\MyWorkStuff\Projects\Ruby\MyProject\>git push origin master
Unable to create branch path https://user:password@git.bettercodes.org/myproject/info/
error: cannot lock existing info/refs
fatal: git-http-push failed

我之前克隆过,然后修改代码并提交。


当前回答

这是我所做的,以摆脱所有的锁引用问题:

git gc --prune=now
git remote prune origin

这可能也是你唯一需要做的。

更多关于git gc命令的信息请访问:https://git-scm.com/docs/git-gc

更多关于git远程修剪的信息请访问:https://git-scm.com/docs/git-remote#Documentation/git-remote.txt-empruneem

其他回答

以bettercodes.org为例,解决方案更加富有诗意——唯一的问题可能是分配给项目成员的权利。简单成员没有写权限!请确保您具有主持人或管理员权限。当然,这需要管理员在bettercodes.org的项目设置中进行设置。

对我来说,这是有效的(不会改变远程):

Git远程删除源文件

因为这个答案似乎对很多人都有帮助,所以我深入研究了一下这里到底发生了什么。这将删除.git/refs/remotes/origin文件夹中对远程分支的引用。

因此,这不会影响您的本地分支,也不会更改任何远程内容,但它会更新您对远程分支的本地引用。在某些情况下,这些引用可能包含Git无法正确处理的数据。

如果您很幸运,没有本地工作要提交/推送,也没有时间去喝咖啡,您可以简单地删除回购的本地副本并重新克隆

当我试图创建一个以当前分支开始的分支时,我遇到了这个问题。我有一个名为develop的分支,我试图创建一个名为develop/myFeature的分支。

在我的情况下,我不得不手动删除旧标签已被删除的远程。