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 では、あるブランチから別のブランチへの変更を統合するいくつかの方法があります。ブランチのマージ、ブランチのリベース、チェリーピックの個別コミット、コミットから個別の変更を適用する、特定のファイルをブランチに適用する、ブランチのマージ:特定のタスクを実行するために機能ブランチを作成し、機能を完了してテストした後、作業結果をメインコードベースに統合するとします。これを行う最も一般的な方法は、ブランチをマスターにマージすることです。機能ブランチで作業をしている間、チームメイトが master...
Git リポジトリに変更をコミットしてプッシュする
Git リポジトリに新しいファイルを追加するか、すでに Git バージョン管理下にあるファイルを変更し、現在の状態に満足したら、作業の結果を共有できます。これには、ローカルにコミットしてリポジトリのスナップショットをプロジェクト履歴に記録し、次にリモートリポジトリにプッシュして他のユーザーが使用できるようにすることが含まれます。Git ユーザー名を設定する Git は、コミットを ID に関連付けるために、ユーザー名を知っている必要があります。ユーザー名を設定していない場合、PyCharm は、最...
Git リポジトリの変更を元に戻す
コミットされていない変更を元に戻すコミットする前に、ローカルで行った変更をいつでも元に戻すことができます。コミットツールウィンドウで、元に戻すファイルを 1 つ以上選択し、コンテキストメニューからロールバックを選択するか、を押します。最後のコミット以降に選択したファイルに加えられたすべての変更は破棄され、アクティブな変更リストから消えます。ファイルのステージングを解除するデフォルトでは、PyCharm は、変更されたファイルが自動的にステージングされる変更リストの概念を使用します。ファイルが...
タグを使用して特定の Git コミットをマークする
Git を使用すると、コミットにタグを付けて、プロジェクト履歴の特定のポイントをマークし、将来参照できるようにすることができます。例: リリーススナップショットをキャプチャーするためにブランチを作成する代わりに、リリースバージョンに対応するコミットにタグを付けることができます。PyCharm では、Git ブランチポップアップでタグの操作を実行できます。これを呼び出すには、メインウィンドウのヘッダーで、現在チェックアウトされているブランチの名前の Git ウィジェットをクリックします。Git ツー...
Git と課題トラッカーの統合
PyCharm を使用すると、コミットメッセージをバグトラッカーまたは課題データベースに接続し、VCS ログ内のコミットからこれらのコミットに関連する課題に移動できます。コミットメッセージから課題へのナビゲーションを有効にするを押して設定を開き、を選択します。このダイアログを使用して、課題ナビゲーションパターンのリストを作成します。課題ナビゲーションパターンは、コミットメッセージ内の課題 ID パターンを、参照される課題の URL アドレスにマップします。これにより、コミットされた変更からそれら...