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

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


当前回答

我遇到了这个问题,当我试图创建一个包含旧分支名称的新功能分支时,例如origin - branch1,我想创建branch1-feature。 这是不可能的,但branch1/feature已经实现了。

其他回答

运行命令git update-ref -d refs/heads/origin/branch修复。

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

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

在我的情况下,在收到这条消息后,我执行了checkout命令,并得到了以下消息:

Your branch is based on 'origin/myBranch', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

执行这个命令后,我恢复了正常。

我也有一个类似的问题,完全把我搞糊涂了。我有一个名为test的本地分支,并试图获取和签出名为test/some-changes的远程分支。

Fix只是删除一个陈旧的测试分支,然后我可以获取并签出远程分支。

这就是我的工作方式。

在服务器上查找Apache DAV锁文件(例如/var/lock/apache2/DAVlock) 删除它 重新创建具有写权限的web服务器 重新启动web服务器

还有更快的选择:

在服务器上查找Apache DAV锁文件(例如/var/lock/apache2/DAVlock) 清空文件:cat /dev/null > /var/lock/apache2/DAVlock 重新启动web服务器