Git リポジトリの変更を調査する
IntelliJ IDEA では、プロジェクト内のすべての変更を追跡できます。 これにより、 変更の作成者を特定し、 ファイルバージョンまたはコミットの違いを確認し、必要に応じて変更を 安全にロールバックして元に戻すことができます。
プロジェクト履歴を確認する
指定したフィルターに一致するプロジェクトソースに加えられたすべての変更を確認できます。 プロジェクト履歴を表示するには、 Git ツールウィンドウ Alt+9 の ログ タブを開きます。 すべてのブランチおよびリモートリポジトリにコミットされたすべての変更が表示されます。

マルチリポジトリプロジェクトでは、左側の色付きのストライプは、選択したコミットがどのルートに属しているかを示します (各ルートは独自の色でマークされています)。 色付きのストライプの上にマウスを移動すると、ルートパスを示すヒントが表示されます。

プロジェクト履歴を移動して検索する
完全なコミット名やメッセージ、そのフラグメント、リビジョン番号、正規表現を入力して、コミットのリストを検索します。
ブランチまたは お気に入りのブランチ 、ユーザー、日付、フォルダー (またはマルチルートプロジェクトの場合はルートとフォルダー) でコミットをフィルターします。
ツールバーの ハッシュ / ブランチ / タグへジャンプ
アイコンをクリックするか、 Ctrl+F を押して、移動するコミットハッシュ、 タグ 、またはブランチの名前を指定します(そのブランチの最新のコミットに移動します)。
長いブランチで次のコミットに移動するには、矢印をクリックしてください:

Left および Right キーを押して、親 / 子コミットに移動します。 これは、 Git ツールウィンドウ Alt+9 の ログ タブに異なるリポジトリと複数のブランチがすべて混在している場合に特に便利です。
Git ツールウィンドウ Alt+9 の ログ タブの詳細については、「ログタブ 」を参照してください。
特定のリビジョンでプロジェクトのスナップショットを確認する
IntelliJ IDEA では、選択したリビジョンのプロジェクトの状態を確認できます。
Git ツールウィンドウ Alt+9 を開き、 ログ タブに切り替えます。
コミットを選択し、コンテキストメニューから リビジョンでリポジトリを表示 を選択します。
選択したリビジョンのプロジェクトのスナップショットを含む リポジトリ ツールウィンドウが開きます。
2 つのコミットの違いを確認する
IntelliJ IDEA を使用すると、2 つのコミット間で変更されたファイルを確認できます。その間、各コミットの変更を参照する必要はありません。
Git ツールウィンドウ Alt+9 の ログ タブで任意の 2 つのコミットを選択し、コンテキストメニューから バージョンの比較 を選択します。
選択したコミット間で変更されたファイルのリストを含む 変更 ツールウィンドウが開きます。
Show Diff をクリックするか、 Ctrl+D を押すと、任意のファイルの差分を表示できます。
ファイル履歴を確認する
特定のファイルに加えられたすべての変更を確認し、各リビジョンで正確に変更されたものを見つけることができます。
任意のビュー (プロジェクト ツールウィンドウ (Alt+1) 、エディター、 コミット ウィンドウなど) で必要なファイルを選択します。
メインメニューから Git | 選択されたファイル | 履歴の表示 を選択するか、選択のコンテキストメニューから Git | 履歴の表示 を選択します。 Git ツールウィンドウに ヒストリー タブが追加され、選択したファイルの履歴が表示され、そのリビジョンを確認して比較できるようになります。
特定のリビジョンでどの変更が導入されたかを特定するには、リストで選択します。 パネルの右側に、差分が即座に表示されます。
専用の Diff ビューアーでファイル全体の diff を表示するには、リストでファイルを選択して Ctrl+D を押すか、ツールバーの
Show Diff をクリックします。 差分ビューアーが開き、このリビジョンで何が変更されたかが表示されます。
ツールバーボタンを使用すると、選択したリビジョンをローカルバージョンと比較したり、選択したリビジョンのクラスを比較したり、選択したリビジョンをチェックアウトしたり、選択したリビジョンにアノテーションを付けたりすることができます。
項目 | ツールチップとショートカット | 説明 |
|---|---|---|
ブランチ | ブランチフィルター | ブランチ をクリックし、ブランチを選択して、このブランチ内のファイルに加えられた変更を確認します。 |
更新 | このボタンをクリックして現在の情報をリフレッシュします。 | |
Show Diff Ctrl+D | このボタンをクリックして、ファイルの選択されたリビジョンを 差分ビューアーの前のリビジョンと比較します。 | |
影響を受けたファイルをすべて表示 Alt+Shift+A | このボタンをクリックすると、 改訂の影響を受けるパス ダイアログが開き、選択したリビジョンで変更されたすべてのファイルが表示されます。 | |
表示オプション | ヒストリー ビューに表示する情報の量をクリックして選択します。 IntelliJ IDEA に変更が作成された時刻の代わりにコミットタイムスタンプを表示する場合は、 コミットのタイムスタンプを表示 オプションを選択することもできます。 また、表示したい情報の種類を選択します。
| |
GitHub で開く | このボタンをクリックして、 GitHub(英語) で選択されたコミットに対応するページを開きます。 | |
GitLab で開く | このボタンをクリックして、 GitLab(英語) で選択されたコミットに対応するページを開きます。 | |
Git ログインデックスを有効にする | このボタンをクリックすると、IDE 全体の変更履歴の操作性が向上します。 プロジェクトリポジトリのインデックス作成により、次のことが可能になります。
このオプションを無効にするには、 に移動します。 | |
| 列名の変更 | この列をクリックすると展開し、ファイル名の変更履歴を確認できます。 列にマウスポインターを合わせると、ファイルのパスの変更内容を確認できます。 |
選択内容の履歴を表示する
エディターで、ソースコードの必要な部分を選択するか、対応する行にキャレットを置きます。
メインメニューから Git | 現在のファイル | 選択範囲の履歴を表示 を選択するか、選択のコンテキストメニューから Git | 選択範囲の履歴を表示 を選択します。
選択したフラグメントの履歴が別のウィンドウで開きます。 何も選択されていない場合は、現在の行の履歴が表示されます。
ディレクトリの履歴を確認する
プロジェクト全体または特定のファイルの履歴を確認することに加えて、特定のフォルダーで行われた変更を確認できます。
プロジェクト ツールウィンドウ (Alt+1) で 1 つまたは複数のディレクトリを選択し、コンテキストメニューから を選択します。
新しいタブが Git ツールウィンドウ Alt+9 に追加され、選択したフォルダーによってフィルターされたコミットが表示されます。
ローカルファイルバージョンとコミットされたファイルバージョンの違いを確認する
コミットされたファイルリビジョンがローカルバージョンとどのように異なるかを確認することができます:
Git ツールウィンドウ Alt+9 を開き、 ログ タブに切り替えます。
関心のあるコミットを選択し、右側のペインでファイルを選択します。
ツールバーの
ボタンをクリックします。
変更がどのようにマージされたかを確認する
IntelliJ IDEA を使用すると、 あるブランチから別のブランチに変更がマージされた方法、およびマージ中に競合(存在する場合)が正確に 解決された方法を確認できます。
Git ツールウィンドウ Alt+9 の ログ タブで、目的のマージコミットを選択します。
マージ中に競合が検出および解決されなかった場合、IntelliJ IDEA は 変更されたファイル ペインに対応するメッセージを表示し、両方の親から発生した変更の確認を提案します。

いずれかのノードから必要なファイルを選択し、ツールバーの
Show Diff をクリックするか、 Ctrl+D を押します。 差分ビューアーには 2 つのパネルの差分が表示され、現在のバージョンと選択した親を比較できます。
マージ中に競合が発生した場合、 変更されたファイル ペインには競合によってマージされたファイルの一覧が表示されます。
必要なファイルを選択し、ツールバーの
Show Diff をクリックするか、 Ctrl+D を押します。 差分ビューアーには 3 つのパネルの差分が表示され、現在のバージョンをそれぞれの親バージョンと比較し、競合がどのように解決されたかを確認できます。
コード作成者の特定 (Git Blame でアノテーションを付ける)
VCS アノテーション (git-blame(英語) に対応)を使用すると、誰がファイルにどの変更を導入したかを把握できます。 アノテーション付きのビューには、コードの各行の詳細情報が表示されます。

現在のリビジョンで変更された行のアノテーションは、太字とアスタリスクでマークされています。
デフォルトでは、異なるコミットは異なる色でハイライトされます(アノテーションに表示される情報量を設定するを参照)。
アノテーションビューから、次の場所に移動できます。
Git ツールウィンドウ Alt+9 の ログ タブ内の対応するコミット: アノテーションをクリックするか、アノテーションの上にマウスを移動して、詳細情報が表示されたポップアップ内のコミットハッシュをクリックします。

行の違い: アノテーションの上にマウスを置きます。 IDE はその行と、対応するコミットからの変更をハイライトします。

https://github.com 上の対応するコミット: GitHub で開く のコンテキストメニューオプションを使用します。
問題のナビゲーションが有効になっている場合のバグ追跡システムの関連する問題: アノテーションの上にマウスを置き、コミットメッセージに含まれている場合は問題のリンクをクリックします。
アノテーションを有効にする
アノテーションに表示される情報量を設定する
アノテーションビューに表示する情報量を選択できます。
アノテーションガターを右クリックして 表示 を選択し、この変更の起点となった改訂、日付、さまざまな形式の作者の名前、コミット番号など、表示したい情報の種類を選択します。
色 でハイライトを設定することもできます。
アノテーションオプションを設定する
アノテーションガターを右クリックして、コンテキストメニューから オプション を選択します。
空白を無視: 空白文字は無視されます(git
blame -w)。 これは、アノテーションが以前の意味のあるコミットを指すことを意味します。ファイル内の移動を検出: コミットが同じファイル内で行を移動またはコピーするとき、そのような変更は無視されます(git
blame -M)。 これは、アノテーションが以前の意味のあるコミットを指すことを意味します。ファイル間の移動を検出: コミットが同じコミットで変更された他のファイルから行を移動またはコピーするとき、そのような変更は無視されます(git
blame -C)。 これは、アノテーションが以前の意味のあるコミットを指すことを意味します。コミットのタイムスタンプを表示: 変更が作成された時刻ではなく、 アノテーション ビューで IntelliJ IDEA にコミットタイムスタンプを表示する場合は、このオプションを選択します。
日付形式をカスタマイズする
Ctrl+Alt+S を押して設定を開き、 を選択します。
VCS アノテーション の横にある 日時パターン フィールドをクリックし、VCS アノテーションに使用する日付形式を指定します。 パターンリファレンスを参照してください(英語)。
変更の作成者をエディターに表示する
エディターで、要素(メソッドまたはクラス)への最後の変更の作成者を インレイヒントに表示するように設定できます。 オンにするには:
Ctrl+Alt+S を押して設定を開き、 を選択します。
コード作成者 オプションを選択してください。
作成者名を表示する位置を選択します。
ラインの上に(デフォルト)

右側に

このオプションを有効にすると、エディターで作成者名のヒントをクリックして、アノテーション付きビューを開くことができます。
変更の作成者を非表示にする
エディターでコード作成者の名前を非表示にするには、次のいずれかを実行します。
エディター | インレイヒント | Code Vision 設定ページ Ctrl+Alt+S を開き、 コード作成者 オプションを無効にします。
エディターで作成者名のヒントを右クリックし、 Code Vision を非表示: コード作成者のインレイヒント を選択します。
以前のリビジョンにアノテーションを付ける
IntelliJ IDEA では、現在のファイルリビジョンだけでなく、以前のリビジョンにアノテーションを付けることができます。 アノテーションガターのコンテキストメニューから、次のオプションを選択できます。
リビジョンにアノテーションを追加: このオプションは、特定の変更がコミットされた後にファイルがどのように見えるかを確認したい場合に役立ちます。 これを行うには、この変更を右クリックして、コンテキストメニューから リビジョンにアノテーションを追加 を選択します。
以前のリビジョンにアノテーションを追加: このオプションは、特定の行の最後の変更が無意味である場合、たとえば変更されたのがコードのフォーマットのみである場合に便利です。 この場合、ファイルの以前のリビジョンがどのようになっていたかを確認できます。 これを行うには、変更を右クリックし、コンテキストメニューから 以前のリビジョンにアノテーションを追加 を選択します。
リビジョンを非表示: このオプションは、無関係な変更や管理上の変更が表示されるのを避けるのに役立ちます。 これらは通常、低レベルの移行またはフォーマット操作によって導入されます。 これらの変更がルート全体に影響を与えると、 アノテーション ダイアログ内が乱雑になるため、ビューおよび「アノテーション」列から変更を除外することが望ましい場合があります。 リビジョンを非表示 アクションを使用すると、その場でアノテーション結果からリビジョンを除外し、エディターとガターの両方に結果を表示できます。 除外されたリビジョンは、反対のアクション 非表示のリビジョンを復元する を使用して復元できます。 非表示のリビジョンに関する情報は、エディターの上部にある通知パネルに表示されます。 通知パネルの対応するリンクをクリックして、非表示のリビジョンを復元することもできます。
また、 ヒストリー ビューから特定のファイルにアノテーションを付けることもできます。 ヒストリー タブで、レビューするファイルのバージョンを選択し、対応する行を右クリックし、コンテキストメニューから アノテーション を選択します。
アノテーションを使用する利点の詳細については、この動画を参照してください。