####My Profile
プログラミング学習歴②ヶ月目のアカウントです!
プログラミングスクールで学んだ内容や自分が躓いた箇所等のアウトプットの為に発信しています。
また、プログラミング初学者の方にわかりやすく、簡潔にまとめて情報共有できればと考えています。
もし、投稿した記事の中に誤り等ございましたら、コメント欄でご教授いただけると幸いです。
#対象者
- git resetの使い方を知りたい方
#目的
- git resetを使ってaddやcommit前に戻せるようになる
#実際の手順と実例
###0.前回までの流れ
###1.git reset前に知っておくべきこと
- working tree:現状のコード・ファイル変更すると更新される
- index:addしたもの(=commitの対象=変更記録を残す対象)。addすると更新される。
- HEAD:今いるブランチの最新のcommit。commitやcheckoutなどで更新される
###2.戻し方
戻し方は代表的なものが三つあります。
#####1.git reset --soft
- working tree: ○
- index:○
- HEAD:✕
#####2.git reset --mixed
- working tree: ○
- index:✕
- HEAD:✕
対応に限れば、GitHubから余計な変更を消し去りたいときには、ファイル変更はそのままで、add/commitを取り消す場合がほとんどです。なので、このコマンドがデフォルトです。
#####3 git reset --hard
- working tree: ✕
- index:✕
- HEAD:✕
###3.どこまで戻るか
$ git reset HEAD^
直前のadd, commitを取り消します
$ git reset commit_id
特定のコミットまでresetすることができます。
- commit_idはgit logで調べることができます。
- git log --onelineを実行すると、commit_idが見やすいです。