git revert – コミットを取り消す新しいコミットを作成するコマンド

リポジトリ管理
スポンサーリンク

git revert コマンドは、指定したコミットの変更を打ち消す新しいコミットを作成するためのコマンドです。
履歴を改変せずに「取り消し」を記録するため、公開リポジトリでも安全に利用できます。

構文(Syntax)

git revert [オプション] <コミットID>...

主なオプション一覧

オプション説明使用例
<コミットID>指定コミットを打ち消すgit revert abc1234
--no-commit取り消しをコミットせず、ステージングに残すgit revert --no-commit abc1234
-n / --no-edit自動生成メッセージをそのまま使うgit revert --no-edit abc1234
-m <番号>マージコミットを取り消す際に親番号を指定git revert -m 1 abc1234

実行例

単一のコミットを取り消す

git revert abc1234

出力例:

[main 1a2b3c4] Revert "Add login feature"
 1 file changed, -10 +0

複数のコミットをまとめて取り消す

git revert abc1234 def5678

自動コミットせずに取り消し内容を確認

git revert --no-commit abc1234

(その後 git commit で確定)

自動生成メッセージを編集せずにコミット

git revert --no-edit abc1234

マージコミットを取り消す

git revert -m 1 9z8y7x6

エラー例(コンフリクト発生)

git revert abc1234

出力例:

error: could not apply abc1234... Add login feature
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

関連コマンド

  • git reset : コミットを履歴ごと取り消す(公開リポジトリでは非推奨)。
  • git restore : ファイルを特定の状態に戻す(ファイル単位)。
  • git cherry-pick : 特定のコミットを適用する。

備考

  • git revert は「打ち消しコミットを追加する」ため、履歴は消えずに安全です。
  • チーム開発では、共有ブランチでの取り消しは reset より revert が推奨されます。
  • マージコミットの取り消しには -m オプションが必須です。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント