git pullとfetchができない!configの不要情報を削除すると解決

error
スポンサーリンク

Eclipseでリモートブランチを削除したら、git pullとfetchができなくなることがありました。

少し困ったので、この記事で解決した方法を紹介します。

エラーメッセージの内容

その時のエラーがこちら

Remote does not have refs/heads/feature/unit-test available for fetch.

なぜか、削除したはずのブランチをfetchしようとしているみたいでした。
調べてみたところ、configに問題があるみたい。

gitのconfigは、次の方法で確認できます。

configの確認方法1:gitのコマンドを使う

gitのconfigコマンドに–listのオプションをつけると、confiigの一覧を表示できます。

git config --list

configの確認方法2:configファイルを直接開く

Eclipseであればプロジェクトのroot/.gitにあるconfigファイルをエディターで開くと確認できます。macOSの場合.gitが隠しファイルになっているので、次の方法で表示させてください。

macOSで隠しファイルを表示する方法
  • Finderの場合
    「command」+「shift」+「.」

  • ターミナルの場合
    %ls -a

削除したはずのブランチの情報がconfigに残っていた!?

configファイルを確認すると、削除したはずのブランチが[remote “origin”]のfetchにありました。

[core]
	repositoryformatversion = 0
	filemode = true
	logallrefupdates = true
	precomposeunicode = true
[remote "origin"]
	url = 見せられないよ
	fetch = +refs/heads/develop:refs/remotes/origin/develop
	fetch = +refs/heads/feature/unit-test:refs/remotes/origin/feature/unit-test
	fetch = +refs/heads/master:refs/remotes/origin/master
[branch "master"]
	remote = origin
	merge = refs/heads/master
[branch "develop"]
	remote = origin
	merge = refs/heads/develop
	rebase = false

こちらの必要ないブランチ情報を削除することで、fetchとpullができない問題は解決しました。

今後、fetchやpullができない時はconfigの確認もするようにしてみてはいかがでしょうか?

以上。

コメント

タイトルとURLをコピーしました