Skip to main content

GitHub Desktop でのコミットのスカッシュ

GitHub Desktop を使用して、ブランチの履歴内のコミットをスカッシュできます。

Platform navigation

コミットのスカッシュについて

スカッシュすると、ブランチの履歴内の複数のコミットを 1 つのコミットに結合できます。 これにより、リポジトリの履歴が、読みやすく、わかりやすくなります。

コミットのスカッシュ

  1. GitHub Desktop で、 [現在のブランチ] をクリックします。

    リポジトリ バーのスクリーンショット。 ドロップダウン メニューを示す下向き矢印が付いた [Current Branch] というボタンがオレンジ色の枠線で囲まれています。

  2. ブランチのリストで、スカッシュしたいコミットがあるブランチを選びます。

  3. 左サイドバーにある [履歴] をクリックします。

    サイドバーの [履歴] タブのスクリーンショット。 コミット一覧の上にある [履歴] というタブ ボタンがオレンジ色の枠線で強調表示されています。

  4. スカッシュするコミットを選び、結合先のコミットにドロップします。

    Command キーまたは Shift キーを使って、1 つのコミットを選んだり、複数のコミットを選んだりすることができます。

    Ctrl キーまたは Shift キーを使って、1 つのコミットを選んだり、複数のコミットを選んだりすることができます。

    [履歴] タブのコミットの一覧のスクリーンショット。カーソルは青色で強調表示されたコミットの上にあります。 ホバーオーバー テキスト ボックスに "2 件のコミットをスカッシュ" と表示されています。

  5. 新しいコミットのコミット メッセージを変更します。 スカッシュするために選んだコミットのコミット メッセージは、 "概要" フィールドと "説明" フィールドに自動入力されます。

  6. [スカッシュのコミット] をクリックします。

コミットをスカッシュするときのエラー メッセージ

コミットをスカッシュするときに、次のような通知やエラー メッセージが表示されることがあります。

  • 通知は、ブランチに対してリクエストされている変更で、リモート ブランチを更新するために強制プッシュが必要となることを示しています。 強制的にプッシュすると、ブランチのコミット履歴が変更され、そのブランチで作業している他のコラボレーターが影響を受けます。 [スカッシュの開始] を選んでスカッシュを開始したら、 [Origin に強制プッシュ] をクリックして、変更をプッシュします。
  • エラーは、スカッシュされたコミット間にマージ コミットがあるため、スカッシュが失敗したことを示しています。
  • 現在のブランチにコミットされていない変更が存在していることを示す通知が表示されます。 [変更を一時退避して続ける] を選び、変更を保存して続けるか、 [閉じる] を選び、メッセージを閉じて変更をコミットします。 コミットされていない変更がなくなったら、コミットをスカッシュできます。

参考資料