gitで不要なaddを取り消す方法
適当にgit add .とやっているとログやらdb/development.sqlite3やらがtreeに入ってしまって困る。
こういうときは、
git diff --cached
でcommitされようとしている内容を確認して、
不要なファイルを見つけたら、
git rm --cached <ファイル名>
git rm -r --cached <フォルダ名>
とやってtreeから削除する(ファイル自体はFS上に残る)
そしてgit commit。
すっきり。
追記と訂正2011/09/26
以下のコマンドの方が、間違いがなくて良いです。
git reset HEAD -- <ファイル名>
これは、直感的に言うと、現在のディレクトリの内容は変更せずに、git addやgit rmのような、gitへの変更通知だけを無かった事にするコマンドです。
実は、これgit status
で表示されるメッセージに書いてあります。
「取り消したい時はこうしてね」と・・・。
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD
#
# deleted: file
# modified: file2
# new file: file3
#