リモート Git リポジトリと同期する (フェッチ、プル、更新)
変更をアップストリームにプッシュして作業の結果を共有する前に、リモートリポジトリと同期して、プロジェクトまたはディレクトリのローカルコピーが最新であることを確認する必要があります。 次のいずれかの方法でこれを行うことができます: fetch changes、 pull changes 、または update your project or directory。
VCS ウィジェットは、まだフェッチされていない受信コミットの数(ブランチ名の横にある青い矢印アイコン )と送信コミットの数(ブランチ名の横にある緑の矢印アイコン
)を示します。
変更のフェッチ
アップストリームから変更を フェッチすると、リモートリポジトリと最後に同期してから行われたコミットからのすべての新しいデータがローカルコピーにダウンロードされます。 この新しいデータはローカルファイルに統合されず、変更はコードに適用されません。
フェッチされた変更はリモートブランチとして保存され、ファイルに マージする前に内容を確認できます。 フェッチはローカル開発環境に影響しないため、リモートリポジトリのすべての変更を安全に取得できます。
アップストリームから変更を取得する方法は 3 つあります。
メインメニューで Git | フェッチ を選択します。
VCS ウィジェットを開き、右上隅の
をクリックします。

プロジェクト内のすべてのリモートの自動取得を有効にするには、 で リモートの変更を自動で取得する オプションを選択します。
このバックグラウンドタスクは、デフォルトでは 20 分ごとに実行されます(
git.update.incoming.info.timeレジストリキーで設定可能です)。
このビデオを見て(英語)を使用すると、IDE でフェッチ操作がどのように実行されるかをよりよく理解できます。
ブランチを更新する
特定のブランチをそのリモート追跡ブランチと同期する必要がある場合は、 更新を使用します。 これは、選択したブランチを フェッチして 、変更を適用するための便利なショートカットです。
VCS ウィジェットまたは Git(ギット) ツールウィンドウの ブランチ ペインで、ブランチを選択し、コンテキストメニューから 更新 を選択します。
DataGrip はリモートブランチから変更を プルし、更新方法が で選択されている場合、ローカルブランチに リベースまたは マージします。
変更のプル
リモート追跡ブランチではなく、別のブランチから現在のブランチへの変更を取得する必要がある場合は、 pull を使用します。 を プルすると、新しいデータがダウンロードされるだけでなく、プロジェクトまたはディレクトリのローカル作業コピーに統合されます。
メインメニューで へ移動します。 変更のプル ダイアログが開きます。

マルチリポジトリプロジェクトがある場合は、追加のドロップダウンが表示され、リポジトリを選択できます。
プロジェクトに複数のリモートが定義されている場合は、リストからリモートを選択します(デフォルトでは
originです)。現在チェックアウトされているブランチに変更をプルするブランチを選択します。 デフォルトでは、現在のローカルブランチによって追跡されるリモートブランチが選択されています。 別のブランチを指定した場合、DataGrip はその選択を記憶し、今後デフォルトでそのブランチを表示します。
オプションを使用してプルする必要がある場合は、 オプションを変更 をクリックして、以下から選択します。
--リベース:リモートブランチから変更を フェッチした後、DataGrip はローカルの未プッシュの変更をフェッチした内容に リベースします。--ff-only: マージは、早送りが可能な場合にのみ解決されます。--no-ff: マージが早送りとして解決できたとしても、マージコミットはすべての場合に作成されます。--スカッシュ: すべてのプルされた変更を含む単一のコミットは、現在のブランチ上に作成されます。--no-commit: マージは実行されますが、マージコミットは作成されないため、コミットする前にマージの結果をインスペクションできます。--no-verify: 通常はデフォルトで実行されるマージ前フックとコミットメッセージフックをバイパスしながらマージを実行します。
プルオプションの詳細については、 https://git-scm.com/docs/git-pull を参照してください。プル をクリックしてください。
プロジェクトを更新する
リモートリポジトリと同期するたびにすべてのブランチから変更をフェッチする場合は、プロジェクトを 更新する方が便利なオプションであることに気付くかもしれません。
更新操作を実行すると、DataGrip はすべてのプロジェクトルートとブランチから変更を フェッチし、追跡しているリモートブランチをローカル作業コピーへ マージします(プルと同等)。
メインメニューで、 に移動するか、 Ctrl+T を押します。 「プロジェクトの更新 」ダイアログが開きます。
アップデートタイプを選択してください(この戦略は、Git バージョン管理下にあるすべてのルートに適用されます):
相手からの変更を現在のブランチにマージする: 更新中に マージ(英語)を実行するには、このオプションを選択します。 これは、
git fetchを実行してからgit mergeまたはgit pull --no-rebaseを実行するのと同じです。現在のブランチを相手からの変更の上にリベースする: 更新中に リベース(英語)を実行するには、このオプションを選択します。 これは、
git fetchを実行してからgit rebaseまたはgit pull --rebaseを実行するのと同じです(すべてのローカルコミットは、更新されたアップストリームヘッドの上に配置されます)。リモートブランチにリセットする: このオプションを選択すると、すべてのローカルコミットが削除され、ブランチが リモートバージョンと完全に一致します。
今後 プロジェクトの更新 ダイアログを表示しないことを選択し、後でデフォルトの更新戦略を変更する場合は、 バージョン管理 | 確認 設定ページ  Ctrl+Alt+S に移動し、 前にオプションを表示 の 更新 を選択し、次回アップデート時に更新戦略を変更してください。
更新操作が完了すると、 Git(ギット) ツールウィンドウ Alt+9 に 更新情報タブが追加されます。 このタブには、リモートとの最後の同期以降に行われたすべてのコミットが表示され、 ログタブ と同様の方法で変更内容を確認できます。 デフォルトでは、このタブは自動的に開きます。 この動作を変更するには、 で プロジェクトの更新後に「更新情報」タブを自動的に開く チェックボックスをオフにします。