使用git 1.6.4.2时,当我尝试git pull时,会出现以下错误:

error: unable to resolve reference refs/remotes/origin/LT558-optimize-sql: No such file or directory
From git+ssh://remoteserver/~/misk5
 ! [new branch]      LT558-optimize-sql -> origin/LT558-optimize-sql  (unable to update local ref)
error: unable to resolve reference refs/remotes/origin/split-css: No such file or directory
 ! [new branch]      split-css  -> origin/split-css  (unable to update local ref)

我尝试过git远程梅干起源,但没用。


当前回答

当存储库被删除并以相同的名称创建时,也面临同样的问题。它只在我重新设置远程url时起作用,如下所示;

git远程设置url来源[git_REPO_url]

验证远程url:

git remote -v

现在,所有命令都应该照常工作。

其他回答

执行以下命令:

rm .git/refs/remotes/origin/master

git fetch

git branch --set-upstream-to=origin/master

以防万一,如果你需要知道什么是.git/refs/remotes/origin/master,您将阅读remotes部分在Git参考中。

在我的例子中,在删除了.git目录下的所有删除引用文件之后,问题就解决了。

如果您查看消息,它会告诉您需要删除哪些文件(特别是)。

要删除的文件位于.git/refs/remotes下。

我刚刚删除了那里的所有文件,并运行了gc prune

git gc --prune=now

之后,一切正常。

简单地说,当您的本地人有一些关于远程的信息,并且有人更改了一些使远程和您的更改不同步的内容时,就会出现此问题。

我遇到这个问题是因为有人删除了远程分支,并再次创建了同名分支。

要处理此类问题,请从远程进行拉取。

git remote prune origin

或者,如果您正在使用任何GUI,请从远程执行提取。

git fetch--prune为我修复了这个错误:

[marc.zych@marc-desktop] - [~/code/driving] - [Wed May 10, 02:58:25]
[I]> git fetch
error: cannot lock ref 'refs/remotes/origin/user/janek/integration/20170505': 'refs/remotes/origin/user/janek/integration' exists; cannot create 'refs/remotes/origin/user/janek/integration/20170505'
From github.com:zooxco/driving
 ! [new branch]            user/janek/integration/20170505 -> origin/user/janek/integration/20170505  (unable to update local ref)
From github.com:zooxco/driving
[marc.zych@marc-desktop] - [~/code/driving] - [Wed May 10, 02:58:30]
[I]> git fetch --prune
 - [deleted]               (none)     -> origin/user/janek/integration

不过,这假设有问题的分支已在远程删除。

您也可以将其添加到~/.gitconfig中,以在运行git fetch时自动修剪:

[fetch]
    prune = true

错误:无法锁定ref”仅仅意味着/refs中的信息已损坏,Git无法继续创建index.lock文件。

快速修复:删除并重新添加远程。

1-复制现有远程设备的SSH git URL。您可以使用以下命令将其打印到终端:

git远程-v

2-从本地git repo中删除远程设备:

git远程rm源

3-将远程设备添加回本地存储库:

git远程添加原点git@server-address.org:您的用户名/rep-name.git

4-修剪远程原点在线论坛的用户报告说,下面的命令对他们有效:

git远程修剪原点

5-清理和优化本地存储库git-gc--prune=现在

您可以在本文中找到更多信息:https://linuxpip.org/git-error-cannot-lock-ref/