次の方法で共有


Visual Studio での 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 関連の設定を変更する

[前提条件]

カテゴリ 要求事項
プロジェクトへのアクセス プロジェクトのメンバー。
アクセス許可 - プライベート プロジェクトでコードを表示する: 少なくとも Basic アクセス。
- プライベート プロジェクトのコードに複製または投稿する: 共同作成者 セキュリティ グループのメンバーまたはプロジェクト内の対応するアクセス許可。
- ブランチまたはリポジトリのアクセス許可の設定: ブランチまたはリポジトリのアクセス許可を管理します。
- デフォルトのブランチを変更する: リポジトリのポリシーを編集するためのアクセス許可
- リポジトリのインポート: プロジェクト管理者 セキュリティ グループのメンバーまたは Git プロジェクト レベルでリポジトリの作成アクセス許可が許可に設定された場合。 詳細については、「Git リポジトリのアクセス許可を設定する」を参照してください。
サービス リポジトリが有効になりました
ツール 任意。 「az repos コマンドを使用します: Azure DevOps CLI。」

パブリック プロジェクトでは、 利害関係者 アクセス権を持つユーザーは、コードの表示、複製、投稿など、Azure Repos へのフル アクセス権を持ちます。

カテゴリ 要求事項
プロジェクトへのアクセス プロジェクトのメンバー。
アクセス許可 - コードの表示: Basic アクセス以上。
- コードを複製または投稿する: 共同編集者のセキュリティ グループのメンバー、またはプロジェクト内の対応する権限が必要です。
サービス リポジトリが有効になりました

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 構成ファイルの設定を変更する

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

名前と電子メール

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

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

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

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

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

取得中にリモートブランチを削除する

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

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

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

または、> を選択して、現在の Visual Studio プロジェクト リポジトリの フェッチ時にリモートブランチを刈り込む 設定を編集します。

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

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

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

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

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

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

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

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

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

  • 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 の [オプション] ダイアログ ボックスの資格情報ヘルパー設定のスクリーンショット。

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

差分・マージツール

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

差分ツールとマージ ツールの設定は、 git config diff.tool コマンドと git 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 の下にない開いているソリューションを閉じる

既定では、別のリポジトリに切り替えると、Git リポジトリ内の開いているソリューションまたはフォルダーが Visual Studio によって閉じられます。 リポジトリを開くときに 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 and --no-ff」を参照してください。

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

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

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

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

プッシュ --force-with-lease を有効にする

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

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

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

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

    Visual Studio の [オプション] ダイアログ ボックスで、リースでプッシュ強制を有効にするチェック ボックスを示すスクリーンショット。

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 つのソリューションがビューの一覧に表示されますが、ソリューションは読み込まれません。 この設定は既定で無効になっています

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

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

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

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

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

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

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

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

Git の無視ファイルと属性ファイルを編集する

Visual Studio には、リポジトリのルートに gitignore ファイルと gitattributes ファイルを簡単に追加または編集する方法が用意されています。

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

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

  2. [ 編集] を 選択すると、Visual Studio エディター ウィンドウで無視または属性ファイルが開きます。

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

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

次のステップ