tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

git reset, git reflogについて

git reset --soft コミットID
コミットの状態は指定したコミットIDまで戻るが指定したコミットID以降の変更はワーキングツリーとインデックスには残る。

git reset --mixed コミットID
コミットの状態とインデックスの状態は指定したコミットIDまで戻る。 指定したコミットID以降の変更はワーキングツリーにのみ残る。

git reset --hard コミットID
コミット、インデックス(ステージング)、ワーキングツリー全て指定のコミットまで戻す。 チーム開発では使用注意。

git reset HEAD ファイル名
ファイルをステージングから消去する。(git addを取り消す)

git reset HEAD^ ファイル名
HEAD^などで前のコミットを指定するとそのコミットの時のファイルをステージングエリアに持ってこれる。

git reflog
操作履歴一覧が取得できる git reset --hard HEAD@{n}で戻ることができる。