はじめに
gitの学習を始めたのですが、何度か壁に当たり、解決するのに時間がかかった事象がありました。
今回は備忘録という意味合いも込めて、その事象をご紹介したいと思います。
今回発生した事象
gitの学習をしている中で、下記2点で詰まってしまった。
事象1:git add . を実行するも、
$ git add .
error: '<ディレクトリ名>' does not have a commit checked out
fatal: adding files failed
と表示され、ステージエリアに追加できないディレクトリがある。
事象2:githubにディレクトリをアップするも、ディレクトリの中のファイルがアップできない
git push origin <リモートブランチ名>でアップするも、上の画像の通り目的のディレクトリ(week1-2)はアップできているように見えるが、クリックしてもファイルの中身が確認できない。おそらく、中のファイルはアップできていない模様。
原因
あるディレクトリが git add できなかったり、git push はできても中身のファイルがアップされなかったりする場合は、過去にそのディレクトリで git init を実行したため、すでにgitの管理対象になっている可能性がある。
管理対象になっている場合は、ディレクトリ内に.gitディレクトリが存在する。
この場合、一度.gitディレクトリを削除し、管理対象から外すことによって、正常にアップすることができる可能性がある。
行った対応
とにかく.gitディレクトリを削除してみた。
その後 git add . を実行した。
% rm -r .git
% git add .
→エラーも出ず、無事できた!
(git pushの方は割愛しますが、こちらもできました)
おわりに
git学習したばかりでまだ仕組みがわかっておらず、なかなかエラーを解消できませんでした。
コマンドを覚えるだけでもある程度使えるようになりますが、やはり裏側の仕組みを理解しておかないとこういう時困りますね...
ということで、これからも学習を継続し、必要あればまた加筆修正していきます。