从远程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

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


当前回答

作为Visual Studio Code (vscode, Code)(也可能是其他ide)的参考

我必须执行命令:Git: Fetch (Prune)

命令行替代方案应该是:git fetch——prune

然后重新启动整个IDE。

为了给出一些观点,我将引用BitBucket的码头:

What’s the Difference Between Git Prune,Git Fetch --prune, and Git Remote Prune? git remote prune and git fetch --prune do the same thing: delete the refs to branches that don't exist on the remote. This is highly desirable when working in a team workflow in which remote branches are deleted after merge to main. The second command, git fetch --prune will connect to the remote and fetch the latest remote state before pruning. It is essentially a combination of commands: git fetch --all && git remote prune The generic git prune command is entirely different. As discussed in the overview section, git prune will delete locally detached commits.

其他回答

这个错误正在发生

git fetch

但在我的情况下,我只是想要更新的主要分支可以使用

git fetch origin main

不是一个解决锁定参考问题的方法,但它帮助我避免了这个问题:P

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

在我的例子中,一个分支被移动到一个子目录,这个目录被称为分支。Git对此感到困惑。当我删除本地分支时(在SourceTree中只需右键单击delete),一切都正常工作。

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

这听起来像是一个权限问题——有没有可能你打开了两个窗口,使用不同的权限执行?也许可以检查.git文件夹的所有权。

也许检查是否有未完成的文件锁打开,也许使用lsof检查,或者对您的操作系统使用相同的方法。