since 2011-06-17
gitでファイルの変更をすべて取り消し前回コミットした時の状態に戻す
$ git reset --hard HEAD
http://d.hatena.ne.jp/mickey24/20081022/1224668137
つい git revert と書きたくなるが、そういうコマンドはない。
sine 2011-06-17
master で作業していたが、やっぱり別ブランチにしておけば良かった、と後から思った場合。
とりあえず思いついたやり方
(1) 変更を git diff でファイルに保存 git_diff
$ git diff --no-prefix HEAD~ > ../_patch
(2) 前回コミットの状態に戻す
$ git reset --hard HEAD
(3) 新しいブランチを切ってチェックアウト
$ git checkout -b working_branch
(4) 新しいブランチに変更をパッチ当てする
$ patch -p0 < ../_patch
(5) 作業ブランチをコミット(必要なら push も)
$ git commit -a -m "message" $ git push origin working_branch
(6) 元のブランチに戻す
$ git checkout master