1. maejimayuto

    No comment

    maejimayuto
Changes in body
Source | HTML | Preview
@@ -1,73 +1,78 @@
+# まとめ
+
+- `revert` : commit を打ち消すための commit をうつ
+- `reset` : 作業を取り消す
+
# `revert`
特定の commit を打ち消す内容の commit をする
間違えた commit も歴史として残る
間違えたことを歴史として残したい場合に行う
`HEAD` は、 commit hash でもOK
## 直前を打ち消す commit をする
```bash
git revert HEAD
```
## 2つ前の commit だけを打ち消す commit をする
conflict する可能性がある
```bash
git revert HEAD~1
```
## 範囲を指定して打ち消す commit をする
```bash
git revert HEAD~7...HEAD
```
## `revert` をやり直したい
conflict などして、revert に失敗
再度 revert をやり直したい時
```bash
git revert --abort
```
# `reset`
-ファイル変更と add と特定の commitを消し去る⚡️
+ファイル変更と add と特定の commit を消し去る⚡️
間違えたことを歴史から消し去りたい場合に行う
`HEAD` は、 commit hash でもOK
ref. [\[git reset \(\-\-hard/\-\-soft\)\]ワーキングツリー、インデックス、HEADを使いこなす方法 \- Qiita](https://qiita.com/shuntaro_tamura/items/db1aef9cf9d78db50ffe)
## add したファイルを index から working directory に戻す(add を取り消す)
```bash
git reset
```
## 直前の commit を index に戻す
```bash
git reset --soft HEAD~
```
## ファイル変更と add と直前の commit を取り消す
```bash
git reset --hard HEAD~
```
## やべ! `reset --hard` 間違えてしちゃった!!
```bash
$ git reflog
019c3d2a (HEAD -> feature/fix-validation, origin/feature/fix-validation) HEAD@{0}: commit: remove
7e01141b (origin/develop, develop) HEAD@{1}: checkout: moving from develop to feature/fix-validation
7e01141b (origin/develop, develop) HEAD@{2}: pull: Fast-forward
...
$ git reset --hard HEAD@{1}
```
ref. [\`git reflog\` についてまとめてみる](https://gist.github.com/kymmt90/9c997726b638b316f9be07aa4e3eea5e)