Gitでfetchに失敗したのでそれを解消した話

Gitでfetchをしたときに以下のようなエラーが発生しました。

error: cannot lock ref 'refs/remotes/origin/AAA': 'refs/remotes/origin/AAA/test' exists; cannot create 'refs/remotes/origin/AAA'
! [new branch]   AAA  -> origin/AAA  (unable to update local ref)

このエラーがどういう意味かというと、「AAA/testというブランチがあるのでAAAというブランチを作れません」ということです。これはGitの仕様のようです。

AAA/testは既にリモートリポジトリから削除されており、ローカルのブランチを削除できない状態に陥っていました。

「git remote prune」を実行してエラーを解消する

このgit remote pruneを使用することでローカルから削除することができます。

$ git remote prune [ブランチ名]

私の場合、対象のブランチがoriginだったのでgit remote prune originを実行しました。

$ git remote prune origin
Pruning origin
URL: [リモートリポジトリのURL]
 * [pruned] origin/[ブランチ名]
 * [pruned] origin/[ブランチ名]
 * [pruned] origin/[ブランチ名]

* [pruned] origin/[ブランチ名]に表示されたブランチが削除されたブランチです。

コメントを残す

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

CAPTCHA