"Pulling without specifying how to reconcile divergent branches is discouraged." ワーニングが発生し、リポジトリからプルできない - Visual Studio

"Pulling without specifying how to reconcile divergent branches is discouraged." ワーニングが発生し、リポジトリからプルできない現象と対処法を紹介します。

現象の確認

Gitリポジトリからプルすると以下のエラーが発生します。
メッセージ
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

原因

Git 2.27.0 以降ではプルする際に、リモートリポジトリとローカルリポジトリが異なっている場合、 解決方法のオプションを明示的に指定する必要があります。
解決方法のオプションが指定されていない場合に上記のワーニングが発生します。

参考URL

対処法

Visual Studio のメインウィンドウを表示します。


[ツール]メニューの[オプション]の項目をクリックします。


オプションダイアログが表示されます。

グローバル設定を変更する場合

ダイアログの左側のツリービューの[ソース管理]ノードの[Git グローバル設定]の項目をクリックして選択します。 下図の画面が表示されます。


右側のエリアの[プルするときにローカル ブランチをリベースする]の項目のドロップダウンリストボックスをクリックします。 デフォルトでは[設定解除]が選択されています。下図のドロップダウンリストが表示されます。


[False]の項目をクリックして選択します。


[False]が選択できました。この状態でプルすると、ローカルブランチのリベースをしない設定が明示的に指定されるため、ワーニングが発生せずにプルできます。

リポジトリごとの設定を変更する場合

現在開いているリポジトリの設定を変更する場合の手順です。
現在開いているローカルリポジトリのパスがダイアログ右側上部の[パス]欄に表示されています。


右側のエリアの[プルするときにローカル ブランチをリベースする]の項目のドロップダウンリストボックスをクリックします。 デフォルトでは[設定解除]が選択されています。下図のドロップダウンリストが表示されます。


[False]の項目をクリックして選択します。


[False]が選択できました。この状態でプルすると、ローカルブランチのリベースをしない設定が明示的に指定されるため、ワーニングが発生せずにプルできます。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-09
作成日: 2023-12-20
iPentec all rights reserverd.