Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ コミットの取り消し | 変更の取り消し
Gitの基礎

bookコミットの取り消し

メニューを表示するにはスワイプしてください

バージョン管理システムであるGitを利用する際、特定のコミットによって導入された変更を元に戻す必要が生じることがあります。これは、バグの発見や、機能が本番環境に適していないと判断した場合、または別のアプローチを試したい場合など、さまざまな理由が考えられます。

幸いにも、Git には git revert コマンドが用意されており、特定のコミットで導入された変更の逆の変更を行う新しいコミットを作成することで、変更を元に戻すことができます。

直前のコミットの取り消し

直前のコミットを取り消すには、次のコマンドを使用します:

git revert HEAD
Note
注意

HEAD は現在のブランチの最新コミットを指すポインタです。

ブランチが1つだけの場合、HEAD最新のコミットを指します。 このコマンドは、直前のコミットの変更を元に戻す新しいコミットを作成します。 Gitはデフォルトのテキストエディタを開き、必要に応じてコミットメッセージの編集を可能にします。 エディタを保存して閉じることでリバートが完了します。

ワークフロー例

まず、recipe.txtファイルに新しい行を追加し、次の手順として直接コミットします(ステージングエリアをスキップ):

変更と直接コミット

次に、git show コマンドと HEAD を使って、このコミットの詳細情報を表示。

最新のコミット

誤った出力演算子 > を使用したため、>> を使用すべきところでファイルが上書きされ、以前の行が削除されました。 心配無用。git revert コマンドを使用して、最新のコミットでのこれらの変更を元に戻すことができます。

最新のコミットのリバート

ご覧のとおり、デフォルトのテキストエディタ(この場合はVim)がデフォルトのコミットメッセージとともに開きます。 今回はそのままにしますが、実際のプロジェクトではロールバックの理由を含めることが推奨されます。例:

Note
注意

Vimで変更を保存して終了するには、Escapeキーを押してから大文字のZを2回入力します。

最後に、直近2つのコミットでの変更内容を確認。

最新2件のコミット

基本的に、予想通り新しいコミットが逆の変更内容で作成。

Note
注意

矢印キーで上下にスクロールし、qキーで終了。

question mark

Gitで git revert HEAD コマンドは何をしますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  4
some-alt