- ワーキングツリー(gitで管理してるディレクトリ)内のファイルを編集
- git add
- git commit
- 「あ、間違った…」git commit 取り消したい
てとき。
「3. git commit」を取り消す
直前のコミットだけ取り消したい場合。
git reset --soft HEAD^
コミットだけ取り消しても、git add したステージングへの更新は消えない。
いつも git add は「git add . 」しかしてなかったワシは「コミットだけ取り消してadd 取り消さないってことに意味在るんか?」とアホなことを思っていたが、
git add を何回もやって変更ファイルを追加していってから
git commit する みたいな使い方をする場合意味在るし(というかこれが一般的?)、
git commit のコメントを書き換えたい場合にも有効?
…と思ったが、コメントだけ書き換えたい場合は、効率的なやり方があるらしい。↓
git commit --amend -m "これが本当に書きたかったコメントだあぁー!"
–amend オプション ですって。
「3. git commit」 と 「2. git add」 を取り消す
git commit と、 git add を取り消すには以下のコマンド。
git reset HEAD^
個人的にはこれが一番使いそうやなー。
「3. git commit」 と 「2. git add」 と「ワーキングツリー(gitで管理してるディレクトリ)内のファイルを編集」を取り消す
git commit と、 git add と、ワーキングツリーの中身までを直前のコミットの状態に戻すには以下のコマンド。
git reset --hard HEAD^
ワーキングツリーの中身まで戻っちゃうので要注意やでー。
戻す位置指定の仕方
git reset HEAD^
↑この緑色で示した部分で、どこまで戻すかを指定できる。
3パターン書いておく。
パターン1. 直前のコミット指定
直前のコミット指定するには、
HEAD^
で指定する。
HEAD^
:直前のコミットを意味する。
直前まで戻しちゃう。
例)
git reset HEAD^
パターン2. ●個前のコミット指定
●個前のコミット指定するには、
HEAD~●
で指定する。
HEAD~{n}
:n個前のコミットを意味する。
、8個前のコミットまで巻き戻すときはどうする?もちろん「HEAD^^^^^^^^」と書くこともできるが、指が疲れるし間違えそうだ。そこで「HEAD~8」のように書くこともできる。
例)
git reset HEAD~8
パターン3. コミットIDで指定
指定したコミットIDまで戻すことができる。
もちろんコミットIDで指定することもできるぞ。たとえば次のように打てる。
例)
$ git reset --soft caddd1c
参考にしたサイト
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JTVCR2l0JTVEJUUzJTgyJUIzJUUzJTgzJTlGJUUzJTgzJTgzJUUzJTgzJTg4JUUzJTgxJUFFJUU1JThGJTk2JUUzJTgyJThBJUU2JUI2JTg4JUUzJTgxJTk3JUUzJTgwJTgxJUU2JTg5JTkzJUUzJTgxJUExJUU2JUI2JTg4JUUzJTgxJTk3JUUzJTgwJTgxJUU0JUI4JThBJUU2JTlCJUI4JUUzJTgxJThEJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz00NWE5NDU5NmIyMmExNDNjZGZmY2IyMTBhZjAzZDk4ZQ&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2h1bnRhcm9fdGFtdXJhJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03NTIzZDczZGI1NzYyYzBhZWM5NjZlOGE1NGE3ODU5YQ&blend-x=142&blend-y=491&blend-mode=normal&s=ef0ad06ae63e693fb3e98fa4255fdc08)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JTVCZ2l0JTIwcmVzZXQlMjAlMjgtLWhhcmQlMkYtLXNvZnQlMjklNUQlRTMlODMlQUYlRTMlODMlQkMlRTMlODIlQUQlRTMlODMlQjMlRTMlODIlQjAlRTMlODMlODQlRTMlODMlQUElRTMlODMlQkMlRTMlODAlODElRTMlODIlQTQlRTMlODMlQjMlRTMlODMlODclRTMlODMlODMlRTMlODIlQUYlRTMlODIlQjklRTMlODAlODFIRUFEJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJTg0JUUzJTgxJTkzJUUzJTgxJUFBJUUzJTgxJTk5JUU2JTk2JUI5JUU2JUIzJTk1JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iYTIwNmM4YzMyNTBjODlmZmQ2ZmJlMmQzNjIzNzIwZA&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2h1bnRhcm9fdGFtdXJhJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03NTIzZDczZGI1NzYyYzBhZWM5NjZlOGE1NGE3ODU5YQ&blend-x=142&blend-y=491&blend-mode=normal&s=ebfa92ade65dfa9b654d70c587e7b15f)
![](https://linux.keicode.com/img/og-image-1.png)
ありがとうございました!
コメント