何も考えず、Gitで大量のファイルをadd, commitしちゃった。あ。gitignore書いてない…ひでぶ!
という時にcommitを取り消して、かつgit addも取り消す方法。
git reset --soft; git diff head --name-only | xargs -I{} git rm --cached {};
$ git reset –soft HEAD~
ファイルはそのままで、commitだけを取り消す
$ git diff head –name-only
変更のあったファイルパスを抽出
$ git rm –cached [ファイルパス]
addを取り消す
$ git diff head –name-only | xargs -I{} git rm –cached {}
ファイルパス抽出とadd取り消しをパイプで繋いで、一気に処理。
まぁ、そもそもぼーっとしてcommitした自分が悪いんですけどね! orz