【Git】Git reset总结
基本的想法 de
$ git reset <where?> <when?>
git reset 的第一个选项
指定要恢复到哪个环境。
環境戻す範囲の指定オプション今の環境を次に移動させるコマンドワーキングツリー–hardgit addインデックス環境–mixedgit commitHEAD–soft
#影響範囲は、一連のadd~commit(ワーキングツリー, インデックス, HEAD)
$ git reset --hard <when?>
# 影響範囲は、add後~commit(インデックス, HEAD)
$ git reset --mixed <when?>
# 影響範囲は、commit後のみ(HEAD)
$ git reset --soft <when?>
用中文进行彻底重置 `git reset` 的第二个选项。
需要多久回到之前的时间点?
# コミット履歴
$ git log
# HEADの履歴
$ git reflog
9f12f80 (HEAD -> master, origin/master, fix-home-iichan) HEAD@{0}: checkout: moving from fix-home-iichan to master
9f12f80 (HEAD -> master, origin/master, fix-home-iichan) HEAD@{1}: reset: moving to HEAD@{8}
9f12f80 (HEAD -> master, origin/master, fix-home-iichan) HEAD@{2}: checkout: moving from master to fix-home-iichan
9f12f80 (HEAD -> master, origin/master, fix-home-iichan) HEAD@{3}: checkout: moving from master to master
# 一連のadd~commitを、直前の状態に戻す
$ git reset --hard HEAD^
# 一連のadd~commitを、3つ前の状態に戻す
$ git reset --hard HEAD@{2}
# 動作確認後、一連のadd~commitを、最新の状態に戻す
$ git reset --hard ORIG_HEAD