Tools

【Git】直前のコミットをもとに戻す方法

投稿日:2019年6月24日 更新日:

1. はじめに

Git で間違えてコミットしてしまった場合に、取り消す方法です。

2. 直前のコミットをもとに戻す方法

以下のどちらかを使えばよいでしょう。

最新のコミットを捨てる(変更箇所は捨てない)

$ git reset --mixed HEAD^
  • 変更した部分はそのまま残ります(add されていない状態に戻ります)。
  • --mixed は省略可(デフォルトなので)

最新のコミットを捨てる(変更箇所完全削除)

$ git reset --hard HEAD^
  • 変更した部分は削除されます。

3. 簡単な解説

(1) HEAD^ は、最新の一つ前のコミットを表します。

(2) git reset コマンドには「モード」と呼ばれるオプションが3種類あり、細かい動作を指定することができます。

git reset コマンドのモード
オプション 説明
--soft
  • コミットは取り消され、変更点が add された状態に戻ります。
--mixed
  • コミットは取り消され、変更点が add されていない状態に戻ります。
  • これがデフォルトで、省略可能です。
--hard
  • コミットは取り消され、何も変更していなかった状態に戻ります。
  • 間違ってこのオプションを指定してしまったら、git reflog コマンドを使い、過去のコミットを探して目的のコミットに現在位置を移動させましょう。

📂-Tools

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Windows

Cmder (または ConEmu) を使う際にいつも変更している設定項目

Cmder (または ConEmu) を使う際に、私が変更している設定項目を紹介します。 Cmder は、Windows で使えるターミナルエミュレータ(コンソールエミュレータ)ソフトウェアです。Cm …

Vim

Vim: 行番号の表示

Vim の行番号表示機能について説明します。 目次1. 前提とする環境2. 行番号表示に関する設定項目number (もしくは nu)relativenumber (もしくは rnu)3. この設定項 …

ICTリテラシー

手軽に画像ファイル(PNG,JPEG)のサイズを小さくする TinyPNG サイト

PNG や JPEG 形式の画像ファイルを、なるべく見た目の品質を維持しつつ、ファイルサイズを小さくしたい場合は、TinyPNG というウェブサイトが手軽で便利です。

Windows

WSL (Windows Subsystem for Linux) の導入と設定

本ページでは、WSL (Windows Subsystem for Linux) の導入と設定についてポイントをまとめています。

Windows

wsl-terminal を更新する

目次1. はじめに2. 環境3. バージョン4. 作業1. エクスプローラーのコンテキストメニュー2. 既存の wsl-terminal ディレクトリを退避3. 最新版 wsl-terminal の導 …