次の方法で共有


Visual Studio での Git の設定と基本設定

Visual Studio では、名前やメール アドレス、優先する差分およびマージ ツールなど、一般的な Git の設定と基本設定を構成して表示できます。 これらの設定と基本設定は、Git グローバル設定ページ (すべてのリポジトリに適用) または Git リポジトリ設定ページ (現在のリポジトリに適用) の [オプション] ダイアログ ボックスで表示および構成できます。

次の 2 種類の設定を構成できます。

  • Git 設定 - このセクションの設定は、Git 構成ファイルに保存される Git 設定に対応します。 これらの設定は Visual Studio で表示および変更できますが、Git 構成ファイルによって管理されます。
  • Visual Studio の設定 - このセクションの設定では、Visual Studio によって管理される Git 関連の設定と基本設定を構成します。

設定を構成する方法

  1. Visual Studio で Git 設定を構成するには、最上位の Git メニューから [設定] を選択します。

    [設定] コマンドの吹き出しが表示された Git メニュー。

    [設定] コマンドの吹き出しが表示された Git メニュー。

  2. [ Git グローバル設定] または [Git リポジトリの設定] を 選択して、グローバル レベルまたはリポジトリ レベルの設定を表示および構成します。

    [オプション] ダイアログ ボックスのナビゲーション ウィンドウで、Git 設定への吹き出しが表示されます。

  3. この記事の次のセクションで説明するように、いくつかの一般的な Git 設定を構成できます。 必要な設定を構成したら、[ OK] を 選択して更新された設定を保存します。

    [オプション] ダイアログ ボックスの表示領域。[OK] ボタンへの吹き出しが表示されます。

Git の設定

また、最も一般的な Git 構成設定の一部を構成して確認することもできます。 次の設定は、Git 構成ファイルによって管理されている場合でも、Visual Studio で表示および変更できます。

Visual Studio の グローバル設定 で構成された Git 設定は、Git のユーザー固有の構成ファイルの設定に対応し 、[リポジトリ設定] の設定 はリポジトリ固有の構成ファイルの設定に対応します。 Git 構成の詳細については、Git の カスタマイズに関する Pro Git の章git-config ドキュメント、および 構成ファイルに関する Pro Git リファレンスを参照してください。 Visual Studio で公開されていない Git 設定を構成するには、 git config コマンドを使用して、構成ファイル ( git config [--local|--global|--system] section.key value) に値を書き込みます。

名前と電子メール

指定した名前と電子メールは、行ったコミットのコミッター情報として使用されます。 この設定は、グローバル スコープとリポジトリ スコープの両方で使用でき、 git configuser.nameuser.email の設定に対応します。

  1. Git メニューの [設定] に移動します。 グローバル レベルでユーザー名と電子メールを設定するには、 Git グローバル設定に移動します。リポジトリ レベルでユーザー名と電子メールを設定するには、 Git リポジトリの設定に移動します。

  2. ユーザー名と電子メールを入力し、[ OK] を 選択して保存します。

    [オプション] ダイアログ ボックスの [Git グローバル設定] パネルで、ユーザー名とメールアドレスを指す吹き出しがあります。

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

枝刈りを行うと、リモートに存在しなくなったリモート追跡ブランチが削除され、ブランチ一覧をクリーンで最新に保つことができます。 この設定は、グローバル スコープとリポジトリ スコープの両方で使用でき、 git configfetch.prune 設定に対応します。

グローバル レベルでは、このオプションを True に設定することをお勧めします。 有効な設定は次のとおりです。

  • True (推奨)
  • 設定解除 (既定値)

設定を変更する方法を次に示します。

  1. Git メニューの [設定] に移動します。 Git グローバル設定に移動して、グローバル レベルでこのオプションを構成します。Git リポジトリの設定に移動して、リポジトリ レベルでこのオプションを構成します。

  2. フェッチ中のリモートブランチを削除する設定をTrue (推奨) にします。 [ OK] を 選択して保存します。

    [フェッチ中にリモート ブランチを排除する] が強調表示され、ドロップダウンから [True] が選択されていることを示すスクリーンショット。

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

リベースでは、アップストリーム ブランチに存在しない現在のブランチのコミットによる変更を一時的に取り除き、現在のブランチをアップストリーム ブランチにリセットしてから、一時的に取り除かれた変更を適用します。 この設定は、グローバル スコープとリポジトリ スコープの両方で使用でき、 git configpull.rebase 設定に対応します。 有効な設定は次のとおりです。

  • True: フェッチ後にアップストリーム ブランチの上に現在のブランチをリベースします。

  • False: 現在のブランチをアップストリーム ブランチにマージします。

  • 未設定 (既定値): 他の構成ファイルで指定されていない限り、現在のブランチをアップストリーム ブランチにマージします。

  • 対話型: 対話型モードでリベースします。

  • マージ: ローカルで作成されたマージ コミットをフラット化せずにリベースします。

    Visual Studio 2022 バージョン 17.2 では、Git からの最近の更新に合わせて [保持] 設定を "マージ" に変更しました。 そのため、Git ツールで以前のバージョンの Visual Studio を使用している場合、ユーザー インターフェイスに "Merges" ではなく "Preserve" と表示されることがあります。 ただし、機能は変わりません。

設定を変更する方法を次に示します。

  1. Git メニューの [設定] に移動します。 Git グローバル設定に移動して、グローバル レベルでこのオプションを構成します。Git リポジトリの設定に移動して、リポジトリ レベルでこのオプションを構成します。

  2. 目的の設定に プルするときに [ローカル ブランチのリベース ] を設定し、[ OK] を 選択して保存します。

    [プル時にローカル ブランチをリベースする] が強調表示され、ドロップダウンから [マージ] が選択されていることを示すスクリーンショット。

Visual Studio でpull.rebaseを構成することはできません。 Visual Studio では、対話型のリベースがサポートされていません。 対話型モードを使用するように pull.rebase を構成するには、コマンド ラインを使用します。

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

暗号化ネットワーク プロバイダーは、実行時に使用する TLS/SSL バックエンドを構成し、 git confighttp.sslBackend 設定に対応するグローバル スコープでの Git 構成設定です。 値は次のとおりです。

  • OpenSSL: TLS および SSL プロトコルには OpenSSL を使用します。
  • セキュリティで保護されたチャネル: TLS および SSL プロトコルに Secure Channel (schannel) を使用します。 Schannel はネイティブ Windows ソリューションであり、Windows 資格情報ストアにアクセスするため、企業全体で証明書を管理できます。
  • 未設定 (既定値): この設定が未設定の場合、OpenSSL が既定です。

設定を変更する方法を次に示します。

  1. Git メニューの [設定] に移動します。 Git グローバル設定に移動して、この設定を構成します。

  2. [暗号化ネットワーク プロバイダー] を目的の値に設定し、[OK] を選択して保存します。

    ドロップダウンから [OpenSSL] が選択された [暗号化ネットワーク プロバイダー] が強調表示されているスクリーンショット。

資格情報アシスタント

Visual Studio がリモート Git 操作を実行すると、要求に資格情報を指定する必要があるため、リモート エンドポイントが要求を拒否する可能性があります。 その時点で、Git によって資格情報ヘルパーが呼び出され、操作の実行に必要な資格情報が返され、要求が再試行されます。 使用される資格情報ヘルパーは、 git configcredential.helper 設定に 対応します。 これは、次の値を持つグローバル スコープで使用できます。

設定を変更する方法を次に示します。

  1. Git メニューの [設定] に移動します。 Git グローバル設定に移動して、この設定を構成します。

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

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

差分ツールとマージ ツール

Gitは、お気に入りのツールで差分とマージの競合を表示します。 このセクションの設定は、 git configdiff.toolmerge.tool の設定に対応します。 [Visual Studio の使用] を選択すると、 Git グローバル設定Git リポジトリ設定 でマージツールまたは差分ツールとして Visual Studio を使用するように Git を構成できます。 その他の差分ツールとマージ ツールを構成するには、git config スイッチまたは merge.tool スイッチでを使用します。

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

Git ファイル

Git リポジトリ設定スコープの Git files セクションを使用して、リポジトリの gitignore ファイルと gitattributes ファイルを表示および編集できます。

リポジトリ内の [無視] ファイルと属性ファイルを表示および編集するセクションを示すスクリーンショット。

リモコン

[Git リポジトリの設定] の [リモート] ウィンドウを使用して、リポジトリのリモートを構成できます。 この設定は git リモート コマンドに対応し、リモートを追加、編集、または削除できます。

[オプション] ダイアログ ボックスの [Git Remotes] ペインを示すスクリーンショット。

その他の設定

他のすべての Git 構成設定を表示するには、構成ファイル自体を開いて表示するか、 git config --list を実行して設定を表示します。

Visual Studio の設定

次の設定では、Visual Studio で Git 関連の基本設定が管理され、Git 構成ファイルではなく Visual Studio によって管理されます。 このセクションのすべての設定は、[ Git グローバル設定] ページで構成します。

既定の場所

既定の場所 では、リポジトリが複製される既定のフォルダーが構成されます。

[オプション] ダイアログ ボックスの既定の場所フィールドを示すスクリーンショット。

既定のブランチ名

既定のブランチ名の設定では、ローカルで作成する新しいリポジトリの既定のブランチが構成されます。 空白のままにすると、ローカルにインストールされている Git の既定値が使用されます。

[オプション] ダイアログ ボックスの既定のブランチ名フィールドを示すスクリーンショット。

この設定は、Visual Studio 17.14 以降で使用できます。

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

既定では、別のリポジトリに切り替えると、開いているソリューションまたはフォルダーが Visual Studio によって閉じられます。 その場合は、Git リポジトリを 開くときにソリューション エクスプローラーでフォルダーを開き、Git リポジトリを開くときにソリューション自動的に読み込む場合に基づいて、新しいリポジトリのソリューションまたはフォルダーを読み込む場合もあります。 この設定により、開いているコードと開いているリポジトリの間の一貫性が維持されます。 ただし、ソリューションがリポジトリと同じフォルダー ルートにない場合は、リポジトリに切り替えるときにソリューションを開いたままにしておく必要があります。 これを行うには、この設定を使用します。 値は次のとおりです。

  • はい: リポジトリを開くと、現在開いているソリューションは常に閉じられます

  • いいえ: リポジトリが開かれると、Visual Studio は現在のソリューションが Git の下にあるかどうかのチェックを実行します。 そうでない場合は、ソリューションは開いたままです。

  • 常に確認 する (既定値): これが設定されている場合は、現在のソリューションを開いたままにするか閉じるかに関係なく、リポジトリごとに開いているダイアログ ボックスを使用して選択できます。

    [オプション] ダイアログ ボックスの [ソリューションを閉じる] 設定を示すスクリーンショット。

複数のリポジトリを自動的にアクティブ化する

この設定を使用すると、Visual Studio で一度に複数のリポジトリのアクティブ化にリソースを費やすかどうか、または一度に 1 つのリポジトリのみをアクティブ化してワークフローを最適化するかどうかを制御できます。 主に 1 つのリポジトリを使用する場合は、この設定をオフにして Visual Studio のパフォーマンスを向上させることができます。 設定を変更した場合、次回ソリューションが読み込まれるまで変更は有効になりません。

  • はい (既定値): Visual Studio は複数のリポジトリをアクティブにします。
  • いいえ: Visual Studio では、1 つのリポジトリのみがアクティブになります。

[オプション] ダイアログ ボックスの [複数のリポジトリを自動的にアクティブ化する] 設定を示すスクリーンショット。

「複数のリポジトリを操作する」を参照してください。

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

サード パーティのソースからの作成者イメージのダウンロードを有効にすることは、グローバル スコープでの Visual Studio 固有の設定です。 オンにすると、作成者イメージが Gravatar イメージ サービスからダウンロードされ (使用可能な場合)、コミットビューと履歴ビューに表示されます。

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

Von Bedeutung

[コミット] ビューと [履歴] ビューで作成者イメージを提供するために、ツールは、アクティブなリポジトリに格納されている作成者の電子メール アドレスの MD5 ハッシュを作成します。 その後、このハッシュが Gravatar に送信され、以前にサービスにサインアップしたユーザーの一致するハッシュ値が検索されます。 一致するものが見つかった場合、ユーザー イメージはサービスから取得され、Visual Studio に表示されます。 サービスを構成していないユーザーは、ランダムに生成されたイメージを返します。 メール アドレスは Visual Studio によって記録されず、Gravatar やその他のサード パーティと共有されることもありません。

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

既定でマージ後に変更をコミットするが有効になっている場合、Git は、ブランチが現在のブランチとマージされるときに新しいコミットを自動的に作成します。

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

  • オンにすると、Visual Studio によって発行 git merge コマンドは、 --commit オプションを使用して実行されます。
  • オフにすると、Visual Studio によって発行 git merge コマンドは、 --no-commit --no-ff オプションを使用して実行されます。

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

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

この設定を有効にすると、Visual Studio 内から push --force-with-lease できます。 既定では プッシュの --force-with-lease の有効化 は無効になっています。

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

詳細については、「 push --force-with-lease」を参照してください。

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

Visual Studio を使用して Git リポジトリを開いたり、Git リポジトリに切り替えたりすると、変更、コミット、ブランチを表示したり、IDE 内からリポジトリを管理したりできるように、Git コンテンツが読み込まれます。 さらに、Visual Studio はソリューション エクスプローラーにリポジトリのコードも読み込みます。 Visual Studio では、リポジトリ フォルダーでソリューション、CMakeLists.txt、またはその他のビュー ファイルが認識され、ソリューション エクスプローラーの一覧として表示されます。 そこから、読み込むソリューションを選択するか、フォルダーを選択してディレクトリの内容を表示できます。 このチェック ボックスをオフにすると、Visual Studio はソリューション エクスプローラーでリポジトリ フォルダーを開きません。 このオプションを使用すると、基本的に Visual Studio を Git リポジトリ マネージャーとしてのみ開くことができます。 この設定は、既定で有効になります。

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

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

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

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

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

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

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

再起動時に Git リポジトリ ウィンドウを復元する

オンにすると、Visual Studio が最後に閉じられたときにウィンドウが開いていた場合、Visual Studio IDE を起動すると、 Git リポジトリ ウィンドウが他の永続的なウィンドウと共に開きます。 ウィンドウの位置はウィンドウ レイアウトに保存されるため、ウィンドウを移動した場合やドッキングした場合は、前の場所で開きます。 Visual Studio の起動時にウィンドウが開かないようにするには、チェック ボックスをオフにします。 ウィンドウを手動で開くには、[表示] メニューの [Git リポジトリ] コマンドを使用するか、Ctrl+0 キー、Ctrl+R キーを押す、または Ctrl+Q キーを押して Git リポジトリ を検索します。

このウィンドウを定期的に使用する場合は、IDE を起動するときに自動的に開くと便利です。 ただし、起動時にウィンドウを開いて設定すると、多くのコンピューティング リソースが使用される可能性があるため、アクティブに使用していない場合は、この動作を無効にした方が効率的です。

[オプション] ダイアログ ボックスの [Git リポジトリの復元] ウィンドウの設定を示すスクリーンショット。

この設定は、Visual Studio 17.14 以降で使用できます。 詳細については、「 リポジトリを参照する」を参照してください。

Von Bedeutung

ご提案がある場合は、お知らせください! 開発者コミュニティ ポータルを使用して、設計上の決定に関するご意見をお待ちしています。