Gitコマンドチートシート(commit/push取り消し)
焦らず少しづつマスターしていこう!!
commitの取り消し
resetとrevertの2通りが存在する。revertのほうが安全ではあるが不要な履歴がログに残ってしまう。resetはその逆。
- resetはcommit履歴および修正履歴自体が削除される。
- revertはcommit履歴および修正履歴自体が残る。
resetコマンド
【コマンド】 git reset [オプション] <コミット>
オプション一覧
- --hard:HEADの位置、インデックス、ワーキングツリー全てを対象
- --mixed:HEADの位置、インデックスを対象
- --soft:HEADの位置みを対象
【実行例】 # ワーキングツリーおよびインデックスはそのままで直前のコミットのみを取り消す $ git reset --soft HEAD^
pushの取り消し
- reset後にpushしようとするとローカルリリポジトリのほうが古いため怒られる。
- -fオプションで強引にコミットしてしまう。
【実行例】 # ワーキングツリーおよびインデックスはそのままで直前のコミットのみを取り消す $ git push -f <リポジトリ名>