0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Git Revert: 「ヤバい変更」を安全に取り消す方法【初心者向け】

Last updated at Posted at 2025-10-10

まず、「revert」ってなに?

開発中に「あっ、間違ってマージしちゃった…」とか、「コミットして push までしちゃったけど、取り消したい…」って経験、ありますよね?

そんなときに便利なのが、git revert です。

git revert は、過去のコミットを「なかったことにする」コマンド。ただし、履歴を消すのではなく、その変更を打ち消す新しいコミットを作成するのがポイントです。つまり、安全に元に戻すことができます。

基本の使い方

使い方はとてもシンプルです。

git revert <コミットハッシュ>

例えば、ログで取り消したいコミット (9a0b1c2) を見つけたら、こう実行します

git revert 9a0b1c2

実行すると、「不要な変更Cを打ち消すコミット」が新しく作られ、履歴は以下のようになります

9a0b1c2 不要な変更C
abcd123 Revert "不要な変更C"

「revert」は履歴を壊さない

ここが git reset との大きな違いです。

コマンド 履歴の扱い 安全性 主な使いどころ
git revert 履歴は残る 安全 公開済みブランチの修正取り消し
git reset 履歴は消える 危険 ローカルでのやり直しや整理

チームで共有している main ブランチなど、公開されているブランチでは reset を使うと履歴が壊れます。一方、revert は「打ち消すだけ」なので、他の人に影響を与えません。

マージコミットを取り消すときの注意点

マージを取り消したいときは、通常通り git revert するとエラーになることがあります。

その際は「どちらのブランチを残すか」を -m オプションで指定する必要があります。

git revert -m 1 <マージコミットのハッシュ>
  • -m 1 → メインブランチ(親1)を残す
  • -m 2 → マージしてきた側のブランチを残す

例えば、feature/add-loginmain にマージしたけど、そのマージ自体を取り消してマージ前の状態に戻したい場合は、-m 1 を指定します。

コンフリクトが出たときは?

revert 中にコンフリクト(競合)が起きることもあります。
その場合の対応手順はこちらです

  1. コンフリクトを手動で修正
  2. 修正ファイルをステージングに追加
    git add .
    
  3. revert 処理を続行
    git revert --continue
    
    途中で revert を中止したい場合は、次のコマンドを使います。
    git revert --abort
    

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

1件ずつ revert するのが面倒な場合は、範囲を指定して一気に取り消すことができます。

git revert --no-commit <開始ハッシュ>^..<終了ハッシュ>
git commit -m "Revert multiple commits"

これにより、複数のコミットの変更をまとめて1回の revert コミットとして処理できます。

まとめ:「revert」は履歴を守る保険

「間違えた!」と思っても、焦らずに revert を思い出してください。安全に取り消せる知識を持っているだけで、Git 操作の自信がグッと増しますよ!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?