k-yamadaのブログ

プログラミングのメモ

git submodule update時にfatal: reference is not a treeエラーが発生する

$ git submodule update
fatal: reference is not a tree: dfae..

<対処法>

参考:http://blog.s21g.com/articles/1743

$ cd submodule_dir
$ git reset --hard
$ cd ../
$ git commit -a
$ git push


それでも駄目なら、一度submoduleを削除して再登録します。

1.submoduleを削除

参考:http://d.hatena.ne.jp/oppara/20101116/p1

.gitmodulesファイルから該当する行を削除

[submodule "path/to/hoge"]
path = path/to/hoge
url = git://github.com/hoge/hoge.git

.git/configファイルから該当する行を削除

[submodule "path/to/hoge"]
url = git://github.com/hoge/hoge.git

submoduleディレクトリを削除してコミット

$ git rm --cached path/to/hoge
$ git commit
2.submoduleを追加
$ git submodule add git://github.com/hoge/hoge.git