Gitで大量にadd, commitしちゃった時の戻し方

何も考えず、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

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください