我试图从github中提取更改时遇到一个奇怪的"无法锁定引用"错误.我已经尝试了git gc,并四处寻找类似的错误但无法找到解决方案.
> git pull
error: cannot lock ref 'refs/tags/v2.8': 'refs/tags' exists; cannot create 'refs/tags/v2.8'
From github.com:k3it/qsorder
! [new tag] v2.8 -> v2.8 (unable to update local ref)
error: cannot lock ref 'refs/tags/v2.9': 'refs/tags' exists; cannot create 'refs/tags/v2.9'
! [new tag] v2.9 -> v2.9 (unable to update local ref)
Run Code Online (Sandbox Code Playgroud)
tor*_*rek 71
你的Git抱怨名称的引用(而不是目录)refs/tags存在.目前尚不清楚会创建什么,但看看是否git rev-parse refs/tags会产生哈希ID.如果是这样,该引用需要消失:
git update-ref -d refs/tags
Run Code Online (Sandbox Code Playgroud)
之后git fetch应该工作.
如果git rev-parse refs/tags失败(它应该 - refs/tags它本身不应该是有效的名称)那么这不是问题,并且不清楚实际问题是什么.
小智 32
运行
git remote prune origin
Run Code Online (Sandbox Code Playgroud)
为我工作.不知道为什么这是问题,但似乎有一个对远程分支的破坏引用.
ell*_*kie 12
就我而言,以下内容有所帮助:
git fetch --prune origin
git pull
Run Code Online (Sandbox Code Playgroud)
第一个解决方案==>:假设您有一个名为开发的分支 ,并且您正在尝试创建名为开发/更新功能的新分支,这将导致此错误,这就是我的情况,所以如果您从新分支( updatefeature)中删除开发字我认为应该解决这个问题。
第二个解决方案==>:在bash中使用以下命令
git remote prune origin
Run Code Online (Sandbox Code Playgroud)
错误:无法锁定引用“refs/tags/v2.8”:“refs/tags”存在;无法从 github.com:k3it/qsorder 创建“refs/tags/v2.8”
尝试删除您的本地标签v2.8,v2.9然后再次拉取。
$ git tag -d v2.8
$ git tag -d v2.9
$ git pull
Run Code Online (Sandbox Code Playgroud)
如果要通过命令删除所有本地标签:
$ git tag | xargs git tag -d
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61900 次 |
| 最近记录: |