【Git】pullしようとしたら、error: cannot lock ref ~ が出る…

Gitでpullしようとしたら、あるブランチにエラーが出て、pull出来なくなった。

エラー内容

error: cannot lock ref 'refs/remotes/origin/feature/abc/#123': 'refs/remotes/origin/feature/abc' exists; cannot create 'refs/remotes/origin/feature/abc/#123'

どうやらブランチ名が重複しているので、作成できなかったと言っているらしい。(上記のようにスラッシュで区切って別ブランチっぽい名前にしていてもダメみたい)

でも、リモートでは「feature/abc」ブランチを削除済なんだけど、なんでだろう?

原因

ローカルに追跡ブランチがのこっていたことが原因っぽい。

試しにfetchしてみると、リモートで削除したブランチがズラーッと出てきた。

古いリモートブランチを削除する(git remote prune)

コマンドだと、以下の通り。

git remote prune

とかやったら、古いリモートブランチが削除される。

TortoiseGitの同期画面にも「古いリモートブランチをクリーンナップ」というメニューがある。

prune(〈余分な枝を〉おろす,切り取る)したら、無事にpullできるようになった。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください