Git の環境設定と設定

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Visual Studio では、いくつかの Git 関連の設定と環境設定を表示および構成できます。 たとえば、コミット メタデータへの名前とメール アドレスの設定、優先する差分とマージのツールの指定、リポジトリ クローンの既定のフォルダー パスの設定を行うことができます。

Visual Studio の Git の設定と環境設定は、次の 2 つのメインカテゴリに分類されます。

  • Git グローバル設定。現在のユーザーのすべての Git リポジトリに適用されます。

  • Git リポジトリ設定。アクティブな Git リポジトリに適用されます。

これらのカテゴリ内で、次の設定を利用できます。

  • Git 構成ファイルの設定。Visual Studio、コマンド ライン、または Git 構成ファイルの編集により表示および変更できます。 Git 構成ファイルの設定の例としては、ユーザー名、メール アドレス、リモート エイリアスがあります。 Git は、次のようにシステム、グローバル、およびローカルの Git 構成ファイルに設定を格納します。

    • システム Git 構成ファイルの設定は、コンピューター上のすべてのユーザーとリポジトリに適用されます。

    • グローバル Git 構成ファイルの設定は、現在のユーザーのすべてのリポジトリに適用されます。 グローバル設定は、システム設定よりも優先されます。

    • ローカル Git 構成ファイルの設定は、ローカル Git 構成ファイルを含むローカル リポジトリに適用されます。 システム設定は、ローカル設定よりも優先されます。

  • Visual Studio Git 関連の設定。Git に関連するが、Git 構成ファイルには格納されない Visual Studio 設定です。 これらの設定は Visual Studio でのみ表示および変更できます。 これらの設定の 1 つの例として、Visual Studio がリポジトリをクローンする既定のフォルダー パスがあります。

この記事では、次の方法について説明します。

  • Git 設定を調べる
  • Git 構成ファイルの設定を変更する
  • Visual Studio Git 関連の設定を変更する

Git 設定を調べる

Visual Studio 2022 は、[Git] メニュー、[Git 変更]、および [ソリューション エクスプローラー] のコンテキスト メニューを使用して、Git バージョン管理エクスペリエンスを提供します。 Visual Studio 2019 バージョン 16.8 には、チーム エクスプローラーの Git ユーザー インターフェイスも用意されています。 詳細については、「Visual Studio 2019 - チーム エクスプローラー」タブを参照してください。

  1. Visual Studio で Git 設定を構成するには、メニュー バーから [Git]>[設定] を選択して [オプション] ビューを開きます。

    Visual Studio のメニュー バーの [設定] オプションのスクリーンショット。

  2. [オプション] ビューで、[Git グローバル設定] を選択して、すべてのリポジトリに適用される設定を表示します。

    Visual Studio の [オプション] ダイアログの [Git グローバル設定] のスクリーンショット。

    または、[オプション] ビューで [Git リポジトリ設定]>[全般] を選択して、現在の Visual Studio プロジェクト リポジトリにのみ適用される設定を表示します。

    Visual Studio の [オプション] ダイアログの [Git リポジトリ設定] のスクリーンショット。

Git 構成ファイルの設定を変更する

Git 構成設定の表示と編集は、Visual Studio でも、該当する Git 構成ファイルを直接編集することでもできます。 Git 構成ファイルの設定の詳細については、「Git のカスタマイズ (英語)」および「git-config のドキュメント (英語)」を参照してください。 以降のセクションでは、一覧表示されている各 Git 構成ファイルの設定を編集する方法について説明します。

名前とメール

変更をコミットすると、Git によってコミット メタデータに名前とメール アドレスが追加されます。 Git が使用する名前とメール アドレスを編集できます。

名前とメールの設定は、グローバルまたはリポジトリ スコープで使用できます。

[Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 このビューには、現在のユーザーの名前とメール設定が含まれています。

Visual Studio の [オプション] ダイアログの [Git グローバル設定] にある名前とメール設定のスクリーンショット。

または、[Git リポジトリ設定]>[全般] を選択して、現在の Visual Studio プロジェクト リポジトリの名前とメール設定を編集します。

フェッチ中にリモート ブランチを取り除く

フェッチのたびにリモート ブランチを取り除くように Git に指示して、対応するリモート リポジトリに存在しなくなったローカル リポジトリ内の古くなったリモート追跡ブランチを削除できます。

[Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 そのビューには、現在のユーザーの [フェッチ中にリモート ブランチを取り除く] オプションが含まれています。

Visual Studio の [オプション] ダイアログの [Git グローバル設定] にある [フェッチ中にリモート ブランチを取り除く] 設定のスクリーンショット。

または、[Git リポジトリ設定]>[全般] を選択して、現在の Visual Studio プロジェクト リポジトリの [フェッチ中にリモート ブランチを取り除く] 設定を編集します。

有効な値は次のとおりです。

  • True (推奨)
  • False
  • Unset (既定値)

プルするときにローカル ブランチをリベースする

プルするときにローカル ブランチのリベースを選択して、リモート ブランチ履歴に対してローカル ブランチの変更内容を再生できます。

[プルするときにローカル ブランチをリベースする] 設定は、git config pull.rebase コマンドに対応します。 この設定は、グローバルまたはリポジトリ スコープで指定できます。

[Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 そのビューには、現在のユーザーの [プルするときにローカル ブランチをリベースする] オプションが含まれています。

Visual Studio の [オプション] ダイアログの [Git グローバル設定] にあるリベース設定のスクリーンショット。

または、[Git リポジトリ設定]>[全般] を選択して、現在の Visual Studio プロジェクト リポジトリの [プルするときにローカル ブランチをリベースする] オプションを編集します。

有効な値は次のとおりです。

  • True: フェッチ後、リモート ブランチに対して現在のブランチをリベースします。
  • False: リモート ブランチを現在のブランチにマージします。
  • Merges: ローカルに作成されたマージ コミットをフラット化せずにリベースします。
  • Unset (既定値): Git 構成ファイルで特に指定されていない限り、リモート ブランチを現在のブランチにマージします。

暗号化ネットワーク プロバイダー

暗号化ネットワーク プロバイダーを、Git が実行時に使用する TLS/SSL バックエンドとして指定できます。

[暗号化ネットワーク プロバイダー] 設定は、git config http.sslBackend コマンドに対応します。 この設定は、グローバル スコープでのみ使用できます。

[Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 そのビューには、現在のユーザーの [暗号化ネットワーク プロバイダー] オプションが含まれています。

Visual Studio で OpenSSL が選択されている [暗号化ネットワーク プロバイダー] 設定のスクリーンショット。

有効な値は次のとおりです。

  • OpenSSL: TLS および SSL プロトコルに OpenSSL を使用します。
  • Secure Channel: TLS および SSL プロトコルに Secure Channel を使用します。 Secure Channel は、ID 認証と、暗号化によるセキュリティで保護されたプライベート通信を提供する一連のセキュリティ プロトコルを含むネイティブ Windows ソリューションです。
  • Unset (既定値): この設定が未設定の場合、暗号化ネットワーク プロバイダーの既定値は OpenSSL になります。

資格情報ヘルパー

Visual Studio でリモート Git 操作を実行すると、要求に対する資格情報が必要とされるため、リモート エンドポイントが要求を拒否する場合があります。 そのときは、Git が資格情報ヘルパーを呼び出して必要な資格情報を取得してから、要求を再試行します。 Git が使用する資格情報ヘルパーを指定できます。

[資格情報ヘルパー] 設定は、git config credential.helper コマンドに対応します。 この設定は、グローバル スコープでのみ使用できます。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択してこの設定を構成します。

  2. [資格情報ヘルパー] を目的の値に設定し、 [OK] を選択して保存します。

    Visual Studio の [オプション] ダイアログ ボックスの [資格情報ヘルパー] 設定を示すスクリーンショット。

有効な値は次のとおりです。

  • GCM for Windows: ヘルパーとして Git Credential Manager for Windows を使用します。
  • GCM Core: ヘルパーとして Git Credential Manager Core を使用します。
  • Unset (既定値): この設定が未設定の場合、システム構成で設定された資格情報ヘルパーが使用されます。 Git for Windows 2.29 時点では、既定の資格情報ヘルパーは GCM Core です。

差分とマージのツール

差分またはマージの競合を表示するために Git が使用するツールを指定できます。

差分とマージのツールの設定は、git config diff.toolgit config merge.tool コマンドに対応します。 Visual Studio をマージまたは差分のツールとして設定することも、Git コマンド ラインから他の差分とマージのツールを構成することもできます。 差分とマージのツールの設定は、グローバルまたはリポジトリ スコープで指定できます。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 そのビューには、差分とマージのツールの設定が含まれています。

  2. 差分とマージのツールの設定を目的の値に設定し、[OK] を選択して保存します。

    Visual Studio の [オプション] ダイアログ ボックスの差分とマージのツールの設定を示すスクリーンショット。

    または、[Git リポジトリ設定]>[全般] を選択して、現在の Visual Studio プロジェクト リポジトリの差分とマージのツール設定を編集します。

有効な差分とマージのツールは次のとおりです。

  • Visual Studio
  • None (既定値)

その他の差分とマージのツールの設定を構成するには、Git コマンド ラインを使用します。

リモート

[Git リポジトリ設定][リモート] ペインを使用して、リポジトリのリモートを追加、編集、または削除できます。 この設定は git remote add コマンドに対応します。 [リモート] ペインは、リポジトリ スコープでのみ使用できます。

リモート リポジトリをクローンすると、Git は、クローンしたリモート リポジトリの URL の短縮形としてエイリアス origin を割り当てます。 便宜上、フォーク元のリポジトリに upstream という名前の別のエイリアスを追加できます。これは上流リポジトリと呼ばれます。 次の手順では、upstream エイリアスを追加する方法について説明します。

Visual Studio で upstream エイリアスを追加するには、次の手順に従います。

  1. メニュー バーで [ツール]>[オプション] の順に選択して、[オプション] ウィンドウを開きます。 [ソース管理]>[Git リポジトリ設定]>[リモート] の順に選択し、[追加] を選択して [リモートの追加] ダイアログを開きます。

    Visual Studio の [ソース管理] メニューの [Git リポジトリ設定] サブメニューの [リモート] ペインにある [追加] ボタンのスクリーンショット。

  2. [リモートの追加] ダイアログで、upstream という名前の新しいリモートを追加し、フォークしたリポジトリの Git クローン URL を入力します。 次に、[保存] を選択します。

    Visual Studio の [リモートの追加] ダイアログ ボックスのスクリーンショット。

その他の設定

他のすべての Git 構成設定を表示するために、Git 構成ファイル自体を開いて表示することも、git config --list を実行して設定を表示することもできます。


次の設定で、Visual Studio の Git 関連の環境設定を管理します。 これらの設定は、Visual Studio 内からのみ表示および編集できます。

Visual Studio Git 関連の設定にアクセスする方法の詳細については、「Git 設定を調べる」を参照してください。 次に、これらの Visual Studio Git 関連の各設定を編集する方法について説明します。

既定のリポジトリの場所

Visual Studio でリポジトリをクローンする既定のリポジトリ フォルダーを設定できます。

[既定のリポジトリの場所] 設定は、グローバル スコープでのみ使用できます。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 そのビューには、[既定のリポジトリの場所] 設定が含まれています。

  2. 既定のリポジトリの場所を設定し、[OK] を選択して保存します。

    Visual Studio の [既定の場所] フィールドを示すスクリーンショット。

リポジトリを開くときに、Git の下にない開いているソリューションを閉じる

既定では、異なるリポジトリに切り替えると、Visual Studio は、Git リポジトリ内の開いているソリューションまたはフォルダーをすべて閉じます。 [リポジトリを開くときに Git 下にない開いているソリューションを閉じる] 設定は、開いているソリューションまたはフォルダーと選択したリポジトリとの一貫性を保ちます。 ただし、ソリューションまたはフォルダーがリポジトリ内にない場合は、リポジトリを切り替えるときにソリューションを開いたままにしておく場合があります。 それをこの設定で行うことができます。

ヒント

この設定を [Git リポジトリを開くときにソリューションを自動的に読み込む] と組み合わせると、Visual Studio は、切り替え先の Git リポジトリのソリューションを開きます。

[リポジトリを開くときに Git 下にない開いているソリューションを閉じる] 設定は、グローバル スコープでのみ使用できます。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択してこの設定を構成します。

  2. 既定のリポジトリの場所を設定し、[OK] を選択して保存します。

    Visual Studio の [オプション] ダイアログ ボックスの [リポジトリを開くときに Git 下にない開いているソリューションを閉じる] 設定を示すスクリーンショット。

有効な値は次のとおりです。

  • Yes: リポジトリを切り替えると、Visual Studio が開いているソリューションをすべて閉じます。
  • No: リポジトリを切り替え、現在のソリューションまたはフォルダーが Git の下にないとき、Visual Studio はソリューションまたはフォルダーを開いたままにします。
  • Always ask (既定値): リポジトリを切り替え、現在のソリューションまたはフォルダーが Git の下にないとき、Visual Studio は現在のソリューションを開いたままにするかどうかをユーザーに確認します。

サード パーティ ソースからの作成者のイメージのダウンロードを有効にする

有効にすると、Visual Studio は、コミットと履歴のビューに表示するために 、Gravatar イメージ サービスから作成者イメージをダウンロードします。 Gravatar イメージを構成していない場合、Gravatar イメージ サービスはランダムに生成したイメージを返します。

重要

コミットと履歴のビューに作成者イメージを提供するために、Visual Studio は、アクティブなリポジトリに格納されている作成者のメール アドレスを使用して MD5 ハッシュを作成し、そのハッシュを Gravatar に送信します。 Gravatar が一致するハッシュを持つユーザーを見つけると、Visual Studio はそのユーザーのイメージを取得して表示します。 Microsoft が、メール アドレスを記録したり、Gravatar やその他のサード パーティと共有したりすることはありません。

[サード パーティ ソースからの作成者のイメージのダウンロードを有効にする] 設定は、グローバル スコープでのみ使用できます。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 そのビューには、[サード パーティ ソースからの作成者のイメージのダウンロードを有効にする] 設定が含まれています。

  2. サード パーティ ソースからの作成者イメージのダウンロードを有効にするかどうかを選択し、[OK] を選択して保存します。

    Visual Studio の [オプション] ダイアログ ボックスにあるサード パーティ ソースからの作成者のイメージのダウンロードを有効にするためのチェックボックスを示すスクリーンショット。

既定でマージ後に変更をコミットする

[既定でマージ後に変更をコミットする] を有効にすると、Git は、ブランチのマージ時に新しいコミットを自動的に作成します。

  • オンにすると、Visual Studio によって発行されたすべての git merge コマンドが、--commit オプションを指定して実行されます。
  • オフにすると、Visual Studio によって発行されたすべての git merge コマンドが、--no-commit --no-ff オプションを指定して実行されます。

これらのマージ オプションの詳細については、「--commit and --no-commit」および「--no-ff」を参照してください。

[既定でマージ後に変更をコミットする] 設定は、グローバル スコープでのみ使用できます。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 そのビューには、[既定でマージ後に変更をコミットする] 設定が含まれています。

  2. 既定でマージ後に変更をコミットするかどうかを選択し、[OK] を選択して保存します。

    Visual Studio の [オプション] ダイアログ ボックスにある既定でマージ後に変更をコミットするためのチェックボックスを示すスクリーンショット。

push --force-with-lease を有効にする

この設定を有効にすると、直近の自分のプル以降に他のユーザーがリモート ブランチにプッシュしていない場合に、リモート ブランチの作業を上書きする変更をプッシュできます。

[push --force-with-lease を有効にする] オプションは、push --force-with-lease コマンドに対応します。 この設定は、グローバル スコープでのみ使用できます。 既定では、[push --force-with-lease を有効にする] は無効になっています。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択します。 そのビューには、[push --force-with-lease を有効にする] 設定が含まれています。

  2. push --force-with-lease を有効にするかどうかを選択し、[OK] を選択して保存します。

    Visual Studio の [オプション] ダイアログ ボックスにある push --force-with-lease を有効にするためのチェックボックスを示すスクリーンショット。

Git リポジトリを開くときにソリューション エクスプローラーでフォルダーを開く

有効なときに Visual Studio で Git リポジトリを開くと、Visual Studio はリポジトリ フォルダーでソリューション、CMakeLists.txt、またはその他のビュー ファイルをスキャンし、ソリューション エクスプローラーに一覧として表示します。 その後、ソリューションを読み込んだり、フォルダーの内容を表示したりできます。 既定では、この設定は有効になっています。

無効なときに Visual Studio で Git リポジトリを開くと、Visual Studio はソリューション エクスプローラーでリポジトリ フォルダーを開かず、Git リポジトリ マネージャーのみが表示されます。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択してこの設定を構成します。

  2. [Git リポジトリを開くときにソリューション エクスプローラーでフォルダーを開く] を有効にするかどうかを選択し、[OK] を選択して保存します。

    Git リポジトリを開くときにソリューション エクスプローラーでフォルダーを開くための [オプション] ダイアログ ボックスのチェックボックスを示すスクリーンショット。

Git リポジトリを開くときにソリューションを自動的に読み込む

[Git リポジトリを開くときにソリューションを自動的に読み込む] 設定は、[Git リポジトリを開くときにソリューション エクスプローラーでフォルダーを開く] 設定も有効になっている場合にのみ適用されます。 Visual Studio で Git リポジトリを開き、その後のフォルダー スキャンによって、リポジトリ内にソリューションが 1 つしかないことが検出されると、Visual Studio は、そのソリューションを自動的に読み込みます。 この設定をオフにすると、ソリューション エクスプローラーは、リポジトリ内にある単一のソリューションをビューの一覧に表示しますが、ソリューションの読み込みは行いません。 既定では、この設定は無効になっています

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択してこの設定を構成します。

  2. [Git リポジトリを開くときにソリューションを自動的に読み込む] を有効にするかどうかを選択し、[OK] を選択して保存します。

    Git リポジトリを開くときにソリューションを自動的に読み込むための [オプション] ダイアログ ボックスのチェックボックスを示すスクリーンショット。

ダブルクリックまたは Enter キーでブランチを自動的にチェックアウトする

[Git リポジトリ] ウィンドウには、ブランチの一覧がツリー構造で表示されます。 ブランチを選択すると、コミット履歴ペインが切り替わり、そのブランチのコミットが表示されます。 ブランチをチェックアウトするには、右クリックしてコンテキスト メニューを開き、[チェックアウト] を選択します。 [ダブルクリックまたは Enter キーでブランチを自動的にチェックアウトする] 設定を有効にすると、ダブルクリックするか、Enter キーを選択してブランチをチェックアウトし、そのコミットを表示できます。

  1. [Git] メニューの [Git]>[設定] を選択し、[Git グローバル設定] ビューを選択してこの設定を構成します。

  2. [ダブルクリックまたは Enter キーでブランチを自動的にチェックアウトする] を有効にするかどうかを選択し、[OK] を選択して保存します。

    ダブルクリックまたは Enter キーでブランチをチェックアウトするための [オプション] ダイアログ ボックスのチェックボックスを示すスクリーンショット。

.gitignore と .getattributes ファイルを編集する

Visual Studio は、リポジトリのルートに gitignoregitattributes ファイルをすばやく追加または編集する方法を提供しています。

gitignore または gitattributes ファイルを追加または編集するオプションは、リポジトリ スコープでのみ使用できます。

  1. [Git] メニューで [Git]>[設定] を選択し、[Git リポジトリ設定]>[全般] ビューを選択します。 そのビューには、gitignore または gitattributes ファイルを編集するオプションが含まれています。

  2. [編集] を選択して、Visual Studio エディター ウィンドウで .gitignore または .gitattributes ファイルを開きます。

    Visual Studio の .gitignore または .gitattributes ファイルの [編集] ボタンを示すスクリーンショット。

.gitignore.gitattributes ファイルを構成する方法の詳細については、「gitignore」と「gitattributes」を参照してください。

次のステップ