narumiと申します。
git cloneの後、意図せずGit submoduleが作成されてしまい、変更をステージに上げることが出来なくなってしまいました。原因と解決方法について自分の備忘録という意味でも記事にしたいと思います。
解決の過程をあまり覚えていないので分かりづらい点も多いと思いますが何卒ご了承ください。
gitをcloneしてからadd -Aとし、commitしようとしたときに下記のエラーが出ました。
エラー
On branch master
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
(commit or discard the untracked or modified content in submodules)
modified: (ファイル名) (modified content)
この時点で原因が全く分かりませんでした。
git add -Aを行っているのに変更がステージされていない?という状況が初めてでした。
git statusで詳細を見てみる
```エラー```
...省略
(※abcdefg12345は適当な文字列です)
-Subproject commit abcdefg12345
+Subproject commit abcdefg12345-dirty
dirtyという記載を始めてみたのでこれについて調べてみると、dirtyと書かれている方がsubmoduleで登録しているリポジトリのようです。
ですがsubmoduleという言葉を初めて聞き、なおかつsubmoduleを登録した覚えがない(そもそもやり方を知らない)
色々と試行錯誤しましたがなかなかは上手くいきませんでした。幸いにも同様の症状で困っていた方の記事を見つけ問題解決に至りました。
cloneする前、もしくはした後にgit initをしてしまった覚えがあります。
cloneするタイミングからやり直すことで無事解決しました。
gitは難しいですが、色々試しながら知識を深めていきたいと思います。
以上です。お読みいただきありがとうございました。
narumi