Skip to the content.

GitHub Desktop を使って Commit を整理する[Amend, Undo, Revert]

公開: 2025-02-16 11:00:38

GitHub Desktopでは、以下のような基本的なコミットの整理は可能です。細かすぎる更新が続き(似たようなCommitが多くなる)、履歴管理としては複雑になりすぎる場合には、高度な履歴編集(コミットの統合 Squash や Push 後の並べ替え)が必要となりますが、まずはそのようなことを扱う前に、以下の3点を実行できるようにしておくとよいでしょう(Squash 等はその後で問題ありません)。基本的には Push 前であれば、かなり楽に Commit を整理することができる、ということを頭に入れておくとよいでしょう。

1. Commit した変更(Push 前)を修正する(Amend)

「コミットメッセージを間違えた」、「ファイルを追加し忘れた」など、直前の Commit を修正(Amend)したいことがあります。

  1. 変更を加えたファイルをステージング(追加)します
  2. コミットメッセージを修正(「Summary(コミットメッセージ)」を書き直す)します
  3. 「Amend commit」ボタンを押します(直前のコミットが修正される)
  4. 「Push origin」をクリック(Push 前であれば、そのまま反映され、Push 後の場合、強制 Push(force push)が必要)します

2. Commit した変更(Push 前)を取り消す(Undo)

「コミットしたけれど、もう一度やり直したい」、「間違ったファイルをコミットしてしまった」など、直前のコミットを取り消し(Undo)たいことがあります。

  1. GitHub Desktopの「History」タブを開きます
  2. 直前のコミットを選択します
  3. 「Undo」ボタンを押します
  4. 変更が「Changes」タブに戻ります
  5. 修正後、再コミットすればよい(Push 前であればローカルだけの変更なので、そのまま反映され、Push 済みの場合は「Revert」を使うほうがよい)です

3. Push した変更を完全に取り消して前のバージョンに戻す(Revert)

  1. GitHub Desktop の「History」タブを開きます
  2. 取り消したいコミットを探します
  3. そのコミットを右クリック(二本指タップ)し、「Revert Changes in Commit」を選択します
  4. 「Push origin」をクリックします

✔ ポイント1 - この方法では、取り消しの履歴が残るため、チームでの作業でも安全に使え、元に戻した変更を確認してから、もう一度コミットし直すことができます。

✔ ポイント2 - Push したものを完全になかったことにする(Force Reset をする)方法もあり、「Push origin」ボタンをクリックして、もしエラーが出たら「Force Push(強制Push)」を選択します。履歴ごと消して完全になかったことになります。ただし、Force Push はなるべく避け、履歴は残す Revert Changes in Commit を使うほうがよいでしょう。