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)したいことがあります。
- 変更を加えたファイルをステージング(追加)します
- コミットメッセージを修正(「Summary(コミットメッセージ)」を書き直す)します
- 「Amend commit」ボタンを押します(直前のコミットが修正される)
- 「Push origin」をクリック(Push 前であれば、そのまま反映され、Push 後の場合、強制 Push(force push)が必要)します
2. Commit した変更(Push 前)を取り消す(Undo)
「コミットしたけれど、もう一度やり直したい」、「間違ったファイルをコミットしてしまった」など、直前のコミットを取り消し(Undo)たいことがあります。
- GitHub Desktopの「History」タブを開きます
- 直前のコミットを選択します
- 「Undo」ボタンを押します
- 変更が「Changes」タブに戻ります
- 修正後、再コミットすればよい(Push 前であればローカルだけの変更なので、そのまま反映され、Push 済みの場合は「Revert」を使うほうがよい)です
3. Push した変更を完全に取り消して前のバージョンに戻す(Revert)
- GitHub Desktop の「History」タブを開きます
- 取り消したいコミットを探します
- そのコミットを右クリック(二本指タップ)し、「Revert Changes in Commit」を選択します
- 「Push origin」をクリックします
✔ ポイント1 - この方法では、取り消しの履歴が残るため、チームでの作業でも安全に使え、元に戻した変更を確認してから、もう一度コミットし直すことができます。
✔ ポイント2 - Push したものを完全になかったことにする(Force Reset をする)方法もあり、「Push origin」ボタンをクリックして、もしエラーが出たら「Force Push(強制Push)」を選択します。履歴ごと消して完全になかったことになります。ただし、Force Push はなるべく避け、履歴は残す Revert Changes in Commit を使うほうがよいでしょう。