リモート Git リポジトリと同期する (フェッチ、プル、更新)
変更をアップストリームにプッシュして作業結果を共有する前に、リモートリポジトリと同期して、プロジェクトのローカルコピーが最新であることを確認する必要があります。 次のいずれかの方法で行います: 変更のフェッチ、 変更のプル 、または プロジェクトの更新。
VCS ウィジェットは、まだフェッチされていない受信コミットの数(ブランチ名の横にある青い矢印アイコン )と送信コミットの数(ブランチ名の横にある緑の矢印アイコン
)を示します。

変更のフェッチ
アップストリームから変更を フェッチすると、リモートリポジトリと最後に同期してから行われたコミットからのすべての新しいデータがローカルコピーにダウンロードされます。 この新しいデータはローカルファイルに統合されず、変更はコードに適用されません。
フェッチした変更はリモートブランチとして保存され、 マージする前に内容を確認できます。 フェッチはローカル開発環境に影響しないため、リモートリポジトリのすべての変更を安全に更新できます。
アップストリームから変更を取得する方法は 3 つあります。
メインメニューで Git | フェッチ を選択します。
VCS ウィジェットを開き、右上隅の
をクリックします。

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

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