git commit –amend / git reset

## `git commit --amend`

- 直前のコミットをやり直す
- 追加ファイルがある場合は、そのファイルをgit add後に実行
- commitログのみの修正なら実行してコミットログを修正、保存

## `git reset --soft`

- 変更はそのままでコミットだけ取り消す
- `git reset --soft HEAD^` = 直前のコミットを変更残して取り消し

## `git reset --hard`

- コミットを取り消した上で、変更も破棄する
- `git reset --hard HEAD^` = 直前のコミットを変更含んで破棄

---

よくつかうのは `git reset --soft` ついでに間違って、リモートにもpushしちったときは、以下。

## `git push -f origin HEAD^:master`

- リモート上の直前のpushを取り消し

参考 : [git commitをやり直しする&取り消しする(「get commit --amend」と「git reset」) - hogehoge foobar Blog Style5](http://d.hatena.ne.jp/mrgoofy33/20100910/1284069468)