JavaScriptを有効にしてください

【Git】pull したら error: cannot lock ref が出たので対処

 ·  ☕ 1 分で読めます

git pull したら error: cannot lock ref が出たので対処

git pullをしたら以下のようなエラーが出てきました。

1
error: cannot lock ref 'refs/remotes/origin/feature/hoge/fuga': 'refs/remotes/origin/feature/hoge' exists; cannot create 'refs/remotes/origin/feature/hoge/fuga'

エラー理由

これは古いブランチ refs/remotes/origin/feature/hoge は既にリモートリポジトリから削除されているのですがローカルに存在するために git pull しても新たに refs/remotes/origin/feature/hoge/fuga が作れないというのが理由です。

git remote prune を実行して解決方法

git remote prune を使用することでローカルに存在するがリモートリポジトリに存在しないブランチを削除してくれます。

1
$ git remote prune [ブランチ名]
1
2
3
4
5
6
7
8
$ git remote prune origin
Pruning origin
URL: [リモートリポジトリのURL]
 * [pruned] origin/[ブランチ名]
 * [pruned] origin/[ブランチ名]
 ………
 ……
 …

この時に表示されたブランチ達が削除されていきます。
その後は ```git pull`` して最新を取得することが可能になります。

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer