IntelliJ IDEA 2020.2ヘルプ

Gitリポジトリの変更を調査する

IntelliJ IDEAでは、プロジェクト内のすべての変更を追跡できます。これにより、変更の作成者を特定し、 ファイルバージョンまたはコミットの違いを確認し、必要に応じて変更を安全にロールバックして元に戻すことができます。

プロジェクト履歴を確認する

指定したフィルターに一致するプロジェクトソースに加えられたすべての変更を確認できます。プロジェクト履歴を表示するには、Gitツールウィンドウ Alt+9ログタブを開きます。すべてのブランチおよびリモートリポジトリにコミットされたすべての変更が表示されます。

log view

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

root path
  • 完全なコミット名やメッセージ、そのフラグメント、リビジョン番号、または正規表現を入力して、コミットのリストを検索します。

  • ブランチまたはお気に入りのブランチ、ユーザー、日付、フォルダー(またはマルチルートプロジェクトの場合はルートとフォルダー)でコミットをフィルタリングします。

  • ツールバーのハッシュ/ブランチ/タグへジャンプ go to アイコンをクリックするか、Ctrl+F を押して、ジャンプするコミットハッシュ、タグ、またはブランチの名前を指定します(そのブランチの最新のコミットに移動します)。

  • 長いブランチで次のコミットにジャンプするには、矢印をクリックします。

    jump to next commit

  • Left および Right キーを押して、親/子コミットにジャンプします。これは、Gitツールウィンドウ Alt+9ログタブに異なるリポジトリと複数のブランチがすべて混在している場合に特に便利です。

Gitツールウィンドウ Alt+9ログタブの詳細については、ログタブを参照してください。

特定のリビジョンでプロジェクトのスナップショットを確認する

IntelliJ IDEAでは、選択したリビジョンのプロジェクトの状態を確認できます。

  1. Gitツールウィンドウ Alt+9 を開き、ログタブに切り替えます。

  2. コミットを選択し、コンテキストメニューからリビジョンでリポジトリを表示を選択します。

選択したリビジョンのプロジェクトのスナップショットを含むリポジトリツールウィンドウが開きます。

2つのコミットの違いを確認する

IntelliJ IDEAを使用すると、2つのコミット間で変更されたファイルを確認できます。その間、各コミットの変更を参照する必要はありません。

  • Gitツールウィンドウ Alt+9ログタブで任意の2つのコミットを選択し、コンテキストメニューからバージョンの比較を選択します。

    選択したコミット間で変更されたファイルのリストが開きます。 the Show diff icon をクリックするか、Ctrl+Dを押すと、任意のファイルの差分を表示できます。

ファイル履歴を確認する

特定のファイルに加えられたすべての変更を確認し、各リビジョンで正確に変更されたものを見つけることができます。

  1. 任意のビュー(プロジェクトツールウィンドウ、エディター、ローカルの変更ビューなど)で必要なファイルを選択します。

  2. メインのVCSメニューまたは選択項目のコンテキストメニューからGit | ヒストリーの表示を選択します。ヒストリータブがGitツールウィンドウに追加され、選択したファイルの履歴が表示され、そのリビジョンを確認して比較することができます。

  3. 特定のリビジョンでどの変更が導入されたかを特定するには、リストで選択します。パネルの右側に、差分が即座に表示されます。

  4. 専用の差分ビューアーでファイル全体の差分を表示するには、リストでその差分を選択して Ctrl+D を押すか、ツールバーの show diff ボタンをクリックします。差分ビューアーが開き、このリビジョンで変更された内容が表示されます。

ディレクトリの履歴を確認する

プロジェクト全体または特定のファイルの履歴を確認することに加えて、特定のフォルダーで行われた変更を確認できます。

  1. プロジェクトツールウィンドウで1つまたは複数のディレクトリを選択し、コンテキストメニューからGit | ヒストリーの表示を選択します。

  2. 新しいタブがGitツールウィンドウ Alt+9 に追加され、選択したフォルダーによってフィルターされたコミットが表示されます。

ローカルファイルバージョンとコミットされたファイルバージョンの違いを確認する

コミットされたファイルリビジョンがローカルバージョンとどのように異なるかを確認することができます:

  1. Gitツールウィンドウ Alt+9 を開き、ログタブに切り替えます。

  2. 関心のあるコミットを選択し、右側のペインでファイルを選択します。

  3. ツールバーの show diff ボタンをクリックします。

変更がどのようにマージされたかを確認する

IntelliJ IDEAを使用すると、あるブランチから別のブランチに変更がマージされた方法、およびマージ中に競合(存在する場合)が正確に解決された方法を確認できます。

  • Gitツールウィンドウ Alt+9ログタブで、目的のマージコミットを選択します。

    • マージ中に競合が検出および解決されなかった場合、IntelliJ IDEAは変更されたファイルペインに対応するメッセージを表示し、両方の親から発生した変更の確認を提案します。

      changes from parents

      いずれかのノードから必要なファイルを選択し、ツールバーの差異の表示 show diff アイコンをクリックするか、Ctrl+Dを押します。差分ビューアーには、現在のバージョンと選択した親との比較を可能にする2パネル差分が表示されます。

    • マージ中に競合が発生した場合、変更されたファイルペインには競合によってマージされたファイルの一覧が表示されます。

      必要なファイルを選択し、ツールバーの差異の表示 show diff アイコンをクリックするか、Ctrl+Dを押します。差分ビューアーには、3つのパネルの差分が表示され、現在のバージョンとその両親を比較し、競合がどのように解決されたかを確認できます。

コード作成者を見つける (注釈/非難)

VCS 注釈git-blame(英語)に対応)を使用すると、誰がファイルにどの変更を導入したかを知ることができます。注釈付きビューには、コードの各行の詳細情報が表示されます。

annotate

現在のリビジョンで変更された行の注釈は、太字とアスタリスクでマークされています。

注釈ビューからジャンプすることができます:

  • Gitツールウィンドウ Alt+9ログタブの対応するコミット: Git ログで選択コンテキストメニューコマンドを使用するか、カーソルを注釈の上に置いて、ポップアップで詳細情報のあるコミットハッシュをクリックします。

  • https://github.com(英語)の対応するコミット: GitHub で開く context-menuコマンドを使用してください

  • 課題のナビゲーションが有効になっている場合は、バグ追跡システムの関連する課題に移動します。カーソルが注釈の上に置かれ、コミットメッセージに含まれている場合は課題のリンクをクリックします。

注釈を有効にする

  • エディターまたは差分ビューアーでガターを右クリックし、コンテキストメニューから注釈を選択します。

    注釈コマンドにカスタムショートカットを割り当てることができます。設定/環境設定ダイアログ Ctrl+Alt+S で左側のキーマップを選択し、バージョン管理 | Git | 注釈に移動します。

注釈に表示される情報量を設定する

注釈ビューに表示する情報量を選択できます。

  • 注釈ガターを右クリックして表示を選択し、この変更の起点となった改訂、日付、さまざまな形式の作者の名前、コミット番号など、表示したい情報の種類を選択します。

    で強調表示を設定することもできます。

注釈オプションを設定する

  • 注釈ガターを右クリックして、コンテキストメニューからオプションを選択します。

    • 空白を無視 : 空白文字は無視されます(git blame -w)。これは、注釈が以前の意味のあるコミットを指すことを意味します。

    • ファイル内の動きを検出する : コミットが同じファイル内で行を移動またはコピーするとき、そのような変更は無視されます(git blame -M)。これは、注釈が以前の意味のあるコミットを指すことを意味します。

    • ファイル間の動きを検出する : コミットが同じコミットで変更された他のファイルから行を移動またはコピーするとき、そのような変更は無視されます(git blame -C)。これは、注釈が以前の意味のあるコミットを指すことを意味します。

    • コミットタイムスタンプを表示 : 変更が作成された時刻ではなく、注釈ビューでIntelliJ IDEAにコミットタイムスタンプを表示する場合は、このオプションを選択します。

日付形式をカスタマイズする

  1. 設定/環境設定ダイアログ Ctrl+Alt+S外観 & 振る舞い | システム設定 | 日付形式に移動します。

  2. VCS 注釈の横にある日時パターンフィールドをクリックし、VCS注釈に使用する日付形式を指定します。パターンのリファレンスを参照してください

以前のリビジョンに注釈を付ける

IntelliJ IDEAでは、現在のファイルリビジョンだけでなく、以前のリビジョンに注釈を付けることができます。注釈ガターのコンテキストメニューから、次のオプションを選択できます。

  • リビジョンに注釈を付ける : このオプションは、特定の変更がコミットされた後にファイルがどのように見えるかを確認する場合に便利です。

  • 前のリビジョンに注釈を付ける : このオプションは、特定の行の最後の変更が無意味な状況にある場合、たとえば変更されたものがすべてコード書式である場合などに役立ちます。この場合、ファイルの前のリビジョンの内容を確認できます。

また、ヒストリービューから特定のファイルに注釈を付けることもできます。ヒストリータブで、レビューするファイルのバージョンを選択し、対応する行を右クリックし、コンテキストメニューから注釈を選択します。

注釈を使用する利点の詳細については、この動画を参照してください。

最終更新日: 2020年7月24日

関連ページ:

Gitリポジトリの変更を元に戻す

コミットされていない変更を元に戻すコミットする前に、ローカルで行った変更をいつでも元に戻すことができます。ローカルの変更ビューで、元に戻す1つまたは複数のファイルを選択し、コンテキストメニューからロールバックを選択するか、を押します。最後のコミット以降に選択されたファイルに加えられたすべての変更は破...

タグを使用して特定のGitコミットをマークする

Gitを使用すると、プロジェクト履歴内の特定のポイントをマークするためにコミットにタグを付けて、将来参照できるようにすることができます。例:リリーススナップショットをキャプチャーするブランチを作成する代わりに、リリースバージョンに対応するコミットにタグを付けることができます。コミットにタグを割り当て...

ログタブ

このタブは、バージョン管理にGitまたはMercurialを使用している場合にのみ使用できます。このタブには、すべてのローカルおよびリモート ブランチ、およびすべてのブランチ、または特定の ブランチまたはリポジトリにコミットされたすべての変更が表示されます。カスタムショートカットを割り当てるには、設...

1つのGit ブランチから別のGitに変更を適用する

Gitでは、あるブランチから別のブランチへの変更を統合する方法がいくつかあります。ブランチのマージ、ブランチのリベース、あるブランチから別のブランチに別々のコミットを適用する (チェリーピック)、コミットから個別の変更を適用する、特定のファイルをブランチに適用する、ブランチのマージ:特定のタスクで機...

Gitの競合を解決する

チームで作業しているときに、現在作業中のファイルに誰かが変更をプッシュするという状況に遭遇する可能性があります。これらの変更が重複しない場合(つまり、異なるコード行に変更が加えられた場合)、競合するファイルは自動的にマージされます。しかし、同じ行が影響を受けた場合、Gitは無作為に一方を他方を選ぶこ...

変更をコミットしてGitリポジトリにプッシュする

新しいファイルをGitリポジトリに追加するか、すでにGitバージョン管理下にあるファイルを変更して、現在の状態に満足したら、作業の結果を共有できます。これには、ローカルでコミットしてリポジトリのスナップショットをプロジェクト履歴に記録し、リモートリポジトリにプッシュして他のユーザーが利用できるように...