Gitコマンド虎の巻

git revert

git revertは、指定した特定のコミットを打ち消すコマンドです。

構文

(構文)
git revert [オプション] [値]
【オプション】
オプション説明
--no-editコミットメッセージを編集しない
-e
--edit
コミットメッセージを編集する(デフォルト)
-m <数値>
--mainline
マージコミットを打ち消す場合にどちらのブランチに戻すか指定する
※どちらに戻すかは数値で指定する
-n
--no-commit
コミットをせずリバートする
--helpコマンドのヘルプを表示する

サンプル

コミットID「7e1863c」のコミットを打ち消す

git revert 7e1863c

コミットIDはgit logコマンドで確認できます。

コミットID「7e1863c」のコミットを打ち消す(コミットメッセージを編集なし)

git revert --no-edit 7e1863c

デフォルトのコミットメッセージが使われます。

コミットID「7e1863c」のコミットを打ち消す(コミットはしない)

git revert -n 7e1863c

手動でコミットする必要があります。

マージコミット「7e1863c」を打ち消し、1番目のブランチに戻す

git revert -m 1 7e1863c

ブランチの番号は git logで確認できます。

※git logで履歴を表示させるとマージコミットには以下のような表示があります。

Merge: <コミットID1> <コミットID2>

<コミットID1>に戻したい場合は1を、<コミットID2>に戻したい場合は2を指定します。

備考

  • revertはリバートと読み、「元に戻す」という意味の英単語です。
  • リバートを実行しても指定したコミットが消えるわけではなく、指定したコミットを打ち消すようなコミットを作成することでコミット前の状態にします。
  • リバートを実行すると、-nオプションを指定しない限り自動的にコミットされます。
    (git resetを使うと、指定したコミット自体が消えます。)

関連項目

  • git log:コミットの履歴を参照する
  • git reset:実行した各種操作を取り消す