Git プロジェクト履歴を編集する
Git を使用すると、プロジェクト履歴を編集できます。 これは、機能ブランチで作業していて、他の人と 共有する前に、それをクリーンアップして希望どおりに表示したい場合に便利です。 例: コミットメッセージを編集したり、同じ機能に関連する小さなコミットをまとめたり、無関係な変更を含むコミットを個別のコミットに分割したり、前のコミットに変更を追加したりできます。
コミットメッセージを編集する
変更する必要があるのがコミットメッセージだけであれば、このコミットをプッシュする前にそれを編集できます。
Git ツールウィンドウ Alt+9 の ログ タブでメッセージを編集するコミットを右クリックし、コンテキストメニューから コミットメッセージの編集 を選択するか、 F2 を押します。
開いたダイアログで、新しいコミットメッセージを入力し、 OK をクリックします。
前のコミットを修正する
ときどき早くコミットしていくつかのファイルを追加し忘れたり、最後のコミットで別のコミットを作成せずに修正したいエラーに気づくことがあります。
これを行うには、前のコミットに 段階的な変更を追加する コミットの修正 オプションを使用します。 その結果、2 つの異なるコミットではなく単一のコミットになります。
コミット ツールウィンドウ Alt+0 で、前のコミットに追加する変更を含む変更されたファイルを選択します。
修正 チェックボックスを選択して コミット ボタンを コミットの修正 に変更し、クリックします。
以前のコミットを修正する
個別にコミットするのではなく、以前のコミットに変更を追加する必要がある場合は、 fixup または squash アクションを使用してこれを行うことができます。 どちらのコマンドも選択したコミットに 段階的な変更を追加しますが、コミットメッセージの扱いは異なります。
squashは新しいコミットメッセージを元のコミットに追加しますfixupは新しいコミットメッセージを破棄し、元のコミットからのメッセージだけを残します
コミット ツールウィンドウ Alt+0 で、以前のコミットに追加する変更を含む変更されたファイルを選択します。
Git ツールウィンドウ Alt+9 の ログ タブで、ローカルの変更で変更するコミットを右クリックし、コンテキストメニューから フィックスアップ または スカッシュイン を選択します。
変更を破棄することを選択した場合は、コミットメッセージを変更します。
コミット ボタンの矢印をクリックして コミットしてリベース を選択します。
コミットのスカッシュ
同じ機能に関連する 2 つのコミットを統合する必要がある場合は、ブランチの履歴をより明確にするために、1 つにまとめることができます。
Git ツールウィンドウ Alt+9 の ログ タブで、1 つに結合するコミットを選択し、コンテキストメニューから コミットのスカッシュ を選択します。
開いたダイアログで、コミットメッセージを編集し(デフォルトでは、両方のコミットからのメッセージが含まれています)、 OK をクリックします。
Ctrl+Shift+K をリモートブランチへの変更をプッシュします。
コミットを削除する
変更を元に戻す追加のコミットを作成せずに、現在のブランチでプッシュされたコミットを破棄できます。
ログ ビューで破棄するコミットを選択し、コンテキストメニューから コミットの削除 を選択します。
選択した変更を抽出},{
既にコミット済みの変更を複数のコミットに分割したい場合は、選択したファイルの変更を別のコミットとして抽出できます。},{
Git ツールウィンドウ Alt+9 の ログ タブで、ローカルブランチを選択し、次に分割するコミットを選択します。},{
右側の 変更されたファイル ペインで、抽出する変更を含むファイルを選択し、右クリックして、 選択した変更を別のコミットに抽出する を選択します。},{
開いたダイアログで、必要に応じて新しいコミットメッセージを入力します。},{
結果として、新しいハッシュを持つコミットが 2 つ作成されます。},{