git reset がわからないので図をかいた
以前のコミットへ戻るとき
現在の HEAD へ戻るとき
現在の HEAD へ戻る という日本語はおかしかった。
reset は HEAD の位置を変更する。 オプションとしてステージ上、ワーキングツリーのファイルを削除したり残したりできる。
HEAD へ reset するということは HEAD の位置がかわらない
-
reset --soft
はステージにもワーキングツリーにもなにもしない、のでなにもおこらない -
reset
はステージ上からファイルを降ろすので、add
の取り消しになる -
reset --hard
はワーキングツリーへの変更も削除してしまう。コミットしていない作業は消える。
メモ
- ステージ と index は同じもの
- unstage はステージから削除されるということ
- HEAD^ は HEAD の一つ前のコミット
- ローカルファイルをステージに上げて、ステージに上げたものをコミットする
- reset は HEAD の位置を変更する
わからないこととわかったこと
- HEAD を本当にはわかっていない
- ブランチも本当にはわかっていない https://git-scm.com/book/ja/v1/Git-のブランチ機能-ブランチとは
- commit もチェックアウトできる... ブランチのチェックアウトしかしたことがなかった
- ORIG_HEAD 便利そうである