# GitHub Desktop 内でコミットを管理するオプション

GitHub Desktop を使用して、わかりやすいコミットの履歴を維持できます。

## GitHub Desktop のコミット履歴について

リポジトリに変更をコントリビュートする場合、コミット履歴には、行った変更に到達した経緯に関する流れがわかりやすく表示されます。 レビュー担当者が作業内容を確認しやすくし、リポジトリに変更が導入された日時と理由を簡単に見つけられるようにするには、次のような特定のベスト プラクティスに従うことをお勧めします。

* コミットを順番に整理し、わかりやすい順序にする
* 意図と必要なコンテキストを含んだ明確なコミット メッセージを記述する
* 関連する変更を含む小さなコミットを行う

多くの場合、変更を加えている時点でこれらのベスト プラクティスに完全に従うことは困難です。 コミットの変更を元に戻す、コミット メッセージを編集する、コミットを並べ替えて、より明確なストーリーを伝えなければならない場合があります。 GitHub Desktop
を使用すると、ユーザー インターフェイスからコミット履歴を直接管理できます。

> \[!NOTE]
> 既にリモート リポジトリにプッシュされているコミットの履歴は、できるだけ変更しないようにしてください。 他の共同作成者は、既にこれらのコミットに基づいて作業している可能性があります。

## GitHub Desktop 内でコミット履歴を管理するためのオプション

| オプション                                                                                                   | 説明                                                                                                            | 詳細 |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -- |
| コミットを元に戻す                                                                                               | コミットから作業ディレクトリへの変更を復元し、再コミットする前に、さらに変更を加えることができます。 ユーザーが含めた変更を間違えた場合に便利です。 コミットを、リモート リポジトリに既にプッシュした場合は不可能です。 |    |
| [GitHub Desktop でのコミットを元に戻す](/ja/desktop/managing-commits/undoing-a-commit-in-github-desktop)           |                                                                                                               |    |
| リセットしてコミットの状態にする                                                                                        | コミットを元に戻すのと似ていますが、選択したコミットまでの、そのすべてのコミットの変更点を作業ディレクトリに復元します。 リモート リポジトリにプッシュされている最新のコミットまでしか使用できません。          |    |
| [GitHub Desktop でのコミットへのリセット](/ja/desktop/managing-commits/resetting-to-a-commit-in-github-desktop)     |                                                                                                               |    |
| コミットの修正                                                                                                 | 最新のコミット メッセージを編集したり、新しい変更と最新のコミットとを組み合わせたりできます。 前のコミットの変更がまだ有効であるが、同じコミットに収まる追加の変更を行った場合に便利です。                |    |
| [GitHub Desktop でのコミットの修正](/ja/desktop/managing-commits/amending-a-commit-in-github-desktop)            |                                                                                                               |    |
| コミットを元に戻す                                                                                               | 履歴内の、別のコミットの変更を元に戻す新しいコミットを作成します。 リモート リポジトリにコミットが既にプッシュされており、リポジトリの履歴からコミットを削除したくない場合に便利です。                  |    |
| [Github Desktop でのコミットの打ち消し](/ja/desktop/managing-commits/reverting-a-commit-in-github-desktop)         |                                                                                                               |    |
| コミットをチェリーピックする                                                                                          | コミットを、あるブランチから別のブランチにコピーします。 誤って、間違ったブランチで変更をコミットした場合、作業中の異なるブランチにバグ修正を適用する必要がある場合に便利です。                      |    |
| [Github Desktop でのコミットのチェリーピック](/ja/desktop/managing-commits/cherry-picking-a-commit-in-github-desktop) |                                                                                                               |    |
| コミットを並べ替える                                                                                              | お使いの履歴内のコミットの順序を変更します。 順序を変更すると進行状況がわかりやすくなる場合に便利です。                                                          |    |
| [GitHub Desktop でのコミットの並べ替え](/ja/desktop/managing-commits/reordering-commits-in-github-desktop)         |                                                                                                               |    |
| コミットをスカッシュする                                                                                            | 複数のコミットを結合して 1 つのコミットにします。 関連する変更を含んだ一連の小規模なコミットがある場合に便利です。                                                   |    |
| [GitHub Desktop でのコミットのスカッシュ](/ja/desktop/managing-commits/squashing-commits-in-github-desktop)         |                                                                                                               |    |