はじめに
以下のrails newコマンドで作成したプロジェクトがGitHubにプッシュできず困ったので、同じエラーに悩まれている方の手助けになればと思い、記事に残すことにしました。
rails new rails-app
まずは結論
結論から言うと、rails newコマンドで.gitファイルがrails-appディレクトリ内に自動的に作成されていて、それがGitHubではサブモジュールとして扱われてしまうことが原因でした。作成された.gitを削除することで解消しました。
エラー状況
git add rails-app
上記を実行すると、以下のように表示されます
error: 'rails-app/' does not have a commit checked out
fatal: adding files failed
エラー対処
1. ディレクトリ内のファイルを確認
ls -a rails-app/
2. 「.git」ファイルの削除
rm -rf rails-app/.git
念のため確認⇩
ls -a rails-app/
上記の状態で、git addコマンドを実行すると問題なくステージングできました。
おわりに
チャットGPTにエラー文のみを貼り付けて聞くと、サブモジュールを確認して初期化と更新をする方法やキャッシュを消去する方法を提案されるのですが、一向に解決せず時間がかかってしまいました。
サブモジュールについて触れられた場合について、以下もおまけで追記します。
git submodule status
git submodule statusで何も表示されない場合、rails-app/がサブモジュールとして正しく設定されていない可能性があります。ただし、Gitは依然としてrails-app/をサブモジュールと認識しているようです。
最後までお読みいただき、ありがとうございました!
この記事が少しでもお役に立てれば幸いです。誤り等ありましたら、ご指摘ください。