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が隠しファイルになっているので、次の方法で表示させてください。
削除したはずのブランチの情報が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の確認もするようにしてみてはいかがでしょうか?
以上。
Gitコマンドを学べる教材見つけました
Udemyというオンライン学習プラットフォームにてGitコマンドの無料学習素材がありました。
内容は入門という感じなのですが、独学でやるだけでは身に付かない知識が学べました。
無料なので、一度見てみるのもいいかもしれません。
コメント