at backyard

Color my life with the chaos of trouble.

gitでまだコミットしていない状態で、間違えて add してしまったときの対象方法

gitでまだコミットしていない状態で、間違えて add してしまったときの対象方法について書いていく。
これが最適解かは分からないが、まあこれで良いか...ぐらいの温度感でこの対象法にたどりついたことは先に記載しておく。
(もしもっと良さげな方法があれば教えていただきたいです)

まだ一つもコミットしていないプロジェクトで間違えてgit addしてしまった

gitで間違えて add をすることが多々ある。
.gitignore に追加し忘れていたまま、git add してしまい、間違えて add したファイルを取り消す、といった形だ。

普段であれば下記のコマンドで指定したファイルを git add する前の状態に戻すことができる。

git reset HEAD <取り消したいファイル>

ただ、git initしたばかりで、まだ一つもコミットしていないようなプロジェクトの場合、このように取り消そうとすると下記のようなエラーが出る。

fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.

エラーの内容はごもっともなものであり、まだコミットもしていない状態なので HEAD がないのは当然である。

では、こういうときにどうすればよいか?

短絡的だが、.gitディレクトリを消してもう一度addする

非常に短絡的な方法だが、一番シンプルそうかなと思ったやり方が .git を一度消して、再度 git init する方法。

rm -rf .git

git init

こうしてから指定したファイルだけ git add すれば良いので、時間もかからないし、シンプルで良いかなと思った次第。