IntelliJ IDEA 2020.3 ヘルプ

リモート Git リポジトリと同期する (フェッチ、プル、更新)

変更をアップストリームにプッシュして作業の結果を共有する前に、リモートリポジトリと同期して、プロジェクトのローカルコピーが最新であることを確認する必要があります。これは、変更フェッチ、変更プル、またはプロジェクトの更新のいずれかの方法で行うことができます。

Git ブランチポップアップは、ブランチにまだフェッチされていない受信コミットがあるかどうかを示します。

Incoming commits indicator

変更のフェッチ

アップストリームから変更をフェッチすると、最後にリモートリポジトリと同期してから行われたコミットからのすべての新しいデータがローカルコピーにダウンロードされます。この新しいデータはローカルファイルに統合されず、変更はコードに適用されません。

フェッチされた変更はリモートブランチとして保存されます。これにより、ファイルとマージする前に確認することができます。フェッチはローカルの開発環境に影響を与えないため、これはリモートリポジトリへのすべての変更の更新を取得する安全な方法です。

  • 変更をフェッチするには、メインメニューから Git | フェッチを選択します。

ブランチを更新

特定のブランチをそのリモート追跡ブランチと同期する必要がある場合は、更新を使用します。これは、選択したブランチを取得して変更を適用するための便利なショートカットです。

  • ブランチポップアップまたはバージョン管理ツールウィンドウのブランチペインで、ブランチを選択し、コンテキストメニューから更新を選択します。

IntelliJ IDEA は、リモートブランチから変更をプル(英語)し、設定 / 環境設定 | バージョン管理 | Git で選択されている更新方法に応じて、リベースするか、ローカルブランチにマージします。

変更のプル

リモートで追跡されたブランチではなく、別のブランチから現在のブランチに変更を加える必要がある場合は、pull を使用します。プルすると、新しいデータをダウンロードするだけでなく、プロジェクトのローカル作業コピーに統合することもできます。

  1. メインメニューから Git | プルを選択します。変更のプルダイアログが開きます。

    The Pull dialog

  2. マルチリポジトリプロジェクトがある場合は、追加のドロップダウンが表示され、リポジトリを選択できます。

  3. プロジェクトに複数のリモートが定義されている場合は、リストからリモートを選択します(デフォルトでは origin です)。

  4. 現在チェックアウトされているブランチに変更をプルするブランチを選択します。デフォルトでは、現在のローカルブランチによって追跡されるリモートブランチが選択されています。別のブランチを指定すると、IntelliJ IDEA は選択内容を記憶し、将来、デフォルトでこのブランチを表示します。

  5. オプションを使用してプルする必要がある場合は、オプションを変更をクリックして、以下から選択します。

    • --rebase : リモートブランチから変更をフェッチした後、IntelliJ IDEA は、プッシュされていないローカルの変更をフェッチされた変更にリベースします。

    • --ff-only : マージは、早送りが可能な場合にのみ解決されます。

    • --no-ff : マージが早送りとして解決できたとしても、マージコミットはすべての場合に作成されます。

    • --squash : すべてのプルされた変更を含む単一のコミットは、現在のブランチ上に作成されます。

    • --no-commit : マージは実行されますが、マージコミットは作成されないため、コミットする前にマージの結果をインスペクションできます。

    pull オプションの詳細については、https://git-scm.com/docs/git-pull(英語) を参照してください。

  6. プルをクリックします。

プロジェクトを更新する

複数のプロジェクトルートがある場合、またはリモートリポジトリと同期するたびにすべてのブランチから変更をフェッチする場合は、プロジェクトを更新する方が便利なオプションです。

更新操作を実行すると、IntelliJ IDEA はフェッチすべてのプロジェクトのルートとブランチから変更をし、マージプルに相当)ローカルの作業コピーにリモートブランチを追跡しました。

  1. メインメニューから VCS | プロジェクトの更新を選択するか、Ctrl+T を押します。プロジェクトの更新ダイアログが開きます。

  2. アップデートタイプを選択します(この戦略は、Git バージョン管理下にあるすべてのルートに適用されます)。

    • 受信した変更を現在のブランチにマージします : 更新中にマージ(英語)を実行するには、このオプションを選択します。これは、git fetch を実行してから git merge、または git pull --no-rebase を実行するのと同じです。

    • 入ってくる変更の上に現在のブランチをリベースします : 更新中にリベース(英語)を実行するには、このオプションを選択します。これは、git fetch を実行してから git rebase、または git pull --rebase を実行するのと同じです(すべてのローカルコミットは、更新されたアップストリームヘッドの上に配置されます)。

今後プロジェクトの更新ダイアログを表示しないことを選択し、後でデフォルトの更新戦略を変更する場合は、設定 / 環境設定ダイアログ Ctrl+Alt+Sバージョン管理 | 確認を選択し、これらのコマンドが起動されたときにオプションダイアログを表示する:更新を選択し、次に更新を実行するときに更新戦略を変更します。

更新操作が完了すると、更新情報タブが Git ツールウィンドウ Alt+9 に追加されます。リモートとの最後の同期以降に行われたすべてのコミットがリストされ、ログタブと同じ方法で変更を確認できます。

関連ページ:

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

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

ある Git ブランチから別の Git へ変更を適用する

Git では、あるブランチから別のブランチへの変更を統合するいくつかの方法があります。ブランチのマージ、ブランチのリベース、あるブランチから別のブランチに別々のコミットを適用する (チェリーピック)、コミットから個別の変更を適用する、特定のファイルをブランチに適用する、ブランチのマージ:特定のタスクで機能する機能ブランチを作成し、機能を完了してテストした後、作業の結果をメインコードベースに統合するとします。これを行う最も一般的な方法は、ブランチをマスターにマージすることです。機能ブランチで作業...

更新情報タブ

このタブは、ローカル情報がサーバー(VCS | プロジェクトの更新)と同期されている場合に使用できます。コミット数エリアには、最後にリモートと同期してから実行されたすべてのコミットのリストが表示されます。最後の更新以降に変更されたすべてのファイルの完全なリストを表示するには、コミットのリスト内の任意の場所にキャレットを置き、を押します。グループ化を無効にして、フラットリストを表示できます。変更されたファイルペインのツールバーでクリックします。ツールバー:フィルターなしこのフィールドを使用し

Git リポジトリをセットアップする

既存の Git リポジトリのクローンを作成するか、既存のプロジェクトを Git バージョン管理下に置くと、IntelliJ IDEA は Git がコンピューターにインストールされているかどうかを自動的に検出します。IDE が Git 実行可能ファイルを見つけられない場合は、ダウンロードすることをお勧めします。IntelliJ IDEA は、Windows10 バージョン 2004 で使用可能な Windows Subsystem for Linux 2(WSL2)の Git をサポートします。...