Menu
Coddy logo textTech

コミットを打ち消す (Revert)

CoddyのTerminalジャーニー「バージョン管理」セクションの一部 — レッスン 43/58。

コミットがすでに他の人と共有されている場合、元のIDが失われるため、それを修正(amend)することはリスクが伴います。より安全な選択肢は git revert です。

git revert HEAD

git revert は、対象のコミットによる変更を打ち消す、まったく新しいコミットを作成し、元のコミットはそのまま残します。履歴には「Xを行い、その後Xを打ち消した」と記録されます。

最新のコミットだけでなく、IDを指定して任意のコミットを元に戻すことができます:

git revert a1b2c3d

--no-edit を使用してエディタをスキップし、デフォルトのリバートメッセージを適用します:

git revert --no-edit HEAD

デフォルトのメッセージは Revert "Original subject" のようになり、元のメッセージが本文にエコーされます。

challenge icon

チャレンジ

簡単

フォルダには app.txt が含まれています。リポジトリを初期化し、2つのコミットを作成してください:

  1. メッセージ Add appapp.txt を追加します。
  2. app.txtbroken を追記し、メッセージ Add broken line でコミットします。

最新のコミットを(エディタなしで)元に戻し、壊れた行を取り消します。app.txt の内容を表示してください。

チートシート

git revert は、履歴を保持したまま、対象のコミットによる変更を打ち消す新しいコミットを作成します:

git revert HEAD          # 最新のコミットを元に戻す
git revert a1b2c3d       # IDを指定して任意のコミットを元に戻す
git revert --no-edit HEAD  # エディタをスキップし、デフォルトのメッセージを使用する

デフォルトの revert メッセージは、Revert "Original subject" という形式に従います。

自分で試してみよう

ターミナル
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

バージョン管理のすべてのレッスン