【Git】変更の取り消し(全てPush前)
Gitで変更またはコミットを取り消す時の方法。
Push前の状態で行うこと
環境
- Git 2.9.0
ステージング前
$ git add
前に実施し、ワーキングツリーの変更をなかったことにする
# 特定のファイルのみ $ git checkout -- ファイル名 # 特定のファイルのみ指定したコミットの状態でステージに $ git checkout コミットID ファイル名 # 全て $ git checkout .
ステージングの取り消し
$ git add
でステージングしたファイルをアンステージする
# 指定したファイルをアンステージする $ git reset HEAD ファイル名
直前のコミットの修正
- コミットメッセージを修正したい
- コミットした後に同じファイルを修正・変更した
- コミットすべきファイルが漏れていた
# メッセージを修正したい $ git commit --amend # ファイル漏れ・変更漏れ $ git add 漏れ・変更ファイル $ git commit --amend
コミット自体をなくす
- HEAD~で指定しているところは、戻したい場所のコミットIDを表す
# HEADだけをコミット前に戻す $ git reset --soft HEAD~ # HEADとインデックスをコミット前に戻す $ git reset HEAD~ # HEAD,インデックス,ワーキングツリーをコミット前に戻す $ git reset --hard HEAD~