次の方法で共有


Visual Studio の Git について

Visual Studio は、広く使用されている最新のバージョン管理システムである Git のユーザー インターフェイスを提供します。 ソース コードが GitHub リポジトリ、Azure DevOps、または別の Git プロバイダーでホストされているかどうかに関係なく、Visual Studio IDE 内ですべての一般的なバージョン管理タスクを実行できます。 または、プロバイダーをまったく使用せずにローカルで作業し、プロバイダーに接続する準備ができたときに後でソースをバックアップするオプションを使用することもできます。

作業するソース コードは、Visual Studio で作成されたものである必要はありません。 Visual Studio プロジェクト ファイルがあるかどうかに関係なく、任意の Git リポジトリ内の任意のソース フォルダーを操作できます。

Visual Studio で Git と GitHub の使用を開始する

Visual Studio で Git の使用を開始するには:

GitHub アカウントと GitHub Enterprise アカウントの両方をキーチェーンに追加できるだけでなく、Microsoft アカウントの場合と同様に活用することもできます。 GitHub アカウントをお持ちでない場合は、次の手順に従って、 Visual Studio で使用する GitHub アカウントを作成し てください。 また、Visual Studio 17.12 以降では、複数の GitHub アカウントを追加し、必要に応じてそれらを切り替えることができます。 「 Visual Studio キーチェーンに GitHub アカウントを追加する」を参照してください。

Visual Studio の [Git リポジトリの作成] ダイアログ ボックスのスクリーンショット。

コマンドラインで git コマンドを使用する場合は、 Git for Windows (Microsoft 製品ではない) もインストールする必要があります。

ソリューション エクスプローラーでファイルを表示する

リポジトリを複製するか、ローカル リポジトリを開くと、Visual Studio は Git コンテキストに切り替わります。 ソリューション エクスプローラーは、Git リポジトリのルートにフォルダーを読み込み、ディレクトリ ツリーをスキャンして、 CMakeLists.txt ファイルや .sln ファイル拡張子を持つファイルなどの表示可能なファイルを探します。 詳細については、「 ソリューション エクスプローラーでファイルを表示する」を参照してください。

ブランチとリモートリポジトリ

ブランチを使用すると、関連する変更を、作業中の関連のない変更から分離しておくことができます。 推奨される Git ワークフローでは、作業するすべての機能または修正プログラムに新しいブランチを使用します。 Visual Studio から ブランチを作成する 方法について説明します。

新しいブランチを作成して切り替えると、既存のファイルを変更するか、新しいファイルを追加してからリポジトリに作業をコミットすることで、作業を開始できます。 Visual Studio でのコミットの作成の詳細と、Git でのファイルの状態について理解を深めるには、「 コミットの作成 」ページを参照してください。

Git は分散バージョン管理システムであるため、これまでに行われたすべての変更はローカルのみの変更です。 これらの変更をリモートリポジトリにコントリビュートするには、 それらのローカルコミットをリモートにプッシュする必要があります。

チームで作業している場合、または異なるマシンを使用している場合は、リモートリポジトリで新しい変更をフェッチしてプルする必要が頻繁にあるかもしれません。 Visual Studio での Git ネットワーク操作の管理の詳細については 、フェッチ、プル、プッシュ、同期 のページを参照してください。

Visual Studio IDE のスクリーンショットで、Git メニューとソリューション エクスプローラーの [Git の変更] タブが表示されている画面。

リポジトリの管理とコラボレーション

ただし、Git リポジトリに焦点を当てる方が理にかなっている場合もあります。 たとえば、チームが何に取り組んでいるかをよく把握したり、別のブランチからコミットをコピーしたり、送信コミットをクリーンアップしたりする必要があるかもしれません。 Visual Studio には、強力な リポジトリ参照 機能とコラボレーション機能が含まれているため、他のツールを使用する必要がありません。

Git リポジトリに集中できるように、Visual Studio には Git リポジトリ ウィンドウがあり、ローカルおよびリモートのブランチやコミット履歴など、リポジトリ内のすべての詳細が統合表示されます。 このウィンドウには、メニューバーの Git または View から直接アクセスするか、ステータスバーからアクセスできます。

ソリューション エクスプローラーの [Git] メニューと [Git の変更] タブを強調表示する Visual Studio IDE。

Git リポジトリの参照と管理

Visual Studio の [Git リポジトリ] ウィンドウを使用して Git リポジトリを参照および管理する方法の詳細については、次のページを参照してください。

マージ競合の処理

マージ中に競合が発生するのは、2 人の開発者がファイル内の同じ行を変更し、Git がどちらが正しいかを自動的に認識しない場合です。 Git はマージを停止し、競合状態にあることを通知します。 詳細については、「 マージ競合の解決 」ページを参照してください。

Git 設定をパーソナライズする

Git 設定をリポジトリ レベルおよびグローバル レベルでパーソナライズするには:

  1. メニュー バーの Git>Settings または Tools>Options>Source Control>Git Global Settings に移動します。

  2. 必要な オプションを選択します

    Visual Studio IDE で個人用設定とカスタマイズ設定を選択できる [オプション] ダイアログ ボックスのスクリーンショット。

生産性の向上

Visual Studio 2022 バージョン 17.12 では、コードの任意のセクションを選択し、右クリックして Git サブメニューを展開し、[ GitHub Permalink のコピー ] (または [AzureDevOps Permalinkのコピー]) を選択して GitHub Permalink または Azure DevOps Permalink を生成し、クリップボードにコピーできます。 そこから、リンクが使用されている可能性のある場所、つまりブラウザに貼り付けたり、メール、チャットセッション、ドキュメントで共有したりできます。 Git リポジトリ ウィンドウの埋め込みコミット詳細ビュー内でも同じ操作を行うことができます。 この機能を使用すると、ブランチを切り替えることなく、以前のコミットから特定のコードを参照できます。 Git ホスティング プロバイダー、GitHub、または Azure DevOps のアカウントで Visual Studio にサインイン する必要があります。

Visual Studio 2022 バージョン 17.6 では、GitHub の問題と Azure DevOps 作業項目を検索してリンクできます。 「生産性を向上させるための Git 機能」のブログ記事を参照してください。

Git が Visual Studio 2019 の既定のバージョン管理エクスペリエンスになりました。 バージョン 16.6 以降、機能セットの構築と、フィードバックに基づくイテレーションに取り組んできました。 バージョン 16.8 では、すべてのユーザーの既定のバージョン管理エクスペリエンスになりました。

Visual Studio 2022 でも、Git 機能セットの構築と反復作業を続けています。 最近の機能更新プログラムの詳細については、 Visual Studio のマルチリポジトリのサポート に関するブログ記事を参照してください。

Git の詳細

Gitは最も広く使用されている最新のバージョン管理システムであるため、プロの開発者であろうと、コーディング方法を学んでいる場合でも、Gitは非常に便利です。 Git を初めて使用する場合は、https://git-scm.com/ Web サイトを開始することをお勧めします。 そこには、チートシート、人気のオンラインブック、Git Basicsのビデオがあります。

Visual Studio 2019 で Git の使用を開始する

Visual Studio で新しい Git エクスペリエンスを使用する方法について説明しますが、最初にクイック ツアーを開始する場合は、次のビデオをご覧ください。

ビデオの長さ: 5.27 分

生産性を高めるために Visual Studio で Git の使用を開始するには、次の 3 つの方法があります。

Visual Studio 2019 バージョン 16.8 以降では、完全に統合された GitHub アカウント エクスペリエンスが含まれています。 これで、GitHub アカウントと GitHub Enterprise アカウントの両方をキーチェーンに追加できるようになりました。 Microsoft アカウントと同じように追加して活用できるため、Visual Studio 全体で GitHub リソースに簡単にアクセスできるようになります。 詳細については、「 Visual Studio での GitHub アカウントの操作 」ページを参照してください。

ヒント

GitHub アカウントをお持ちでない場合は、「 Visual Studio で使用する GitHub アカウントの作成 」ページで説明されている手順に従って開始できます。

Visual Studio 2019 で新しい Git リポジトリを作成する

コードが Git に関連付けられていない場合は、新しい Git リポジトリを作成することから始めることができます。 これを行うには、メニュー バーから [Git>Create Git リポジトリ ] を選択します。 次に、[ Git リポジトリの作成 ] ダイアログ ボックスで、情報を入力します。

Visual Studio の [Git リポジトリの作成] ダイアログ ボックス。

[Git リポジトリの作成] ダイアログ ボックスを使用すると、新しいリポジトリを GitHub に簡単にプッシュできます。 デフォルトでは、新しいリポジトリはプライベートであり、アクセスできるのは自分だけです。 このボックスのチェックを外すと、リポジトリは公開され、GitHub 上の誰でもリポジトリを表示できるようになります。

ヒント

リポジトリがパブリックかプライベートかに関係なく、チームで作業していなくても、コードのリモートバックアップをGitHubに安全に保存しておくのが最善です。 これにより、使用しているコンピューターに関係なく、コードを利用できるようになります。

ローカルのみの Git リポジトリを作成するには、 [ローカルのみ ] オプションを使用します。 または、 既存のリモート オプションを使用して、ローカル プロジェクトを Azure DevOps またはその他の Git プロバイダー上の既存の空のリモート リポジトリにリンクできます。

Visual Studio 2019 で既存の Git リポジトリを複製する

Visual Studio には、簡単なクローン エクスペリエンスが含まれています。 複製するリポジトリの URL がわかっている場合は、その URL を [リポジトリの場所] セクションに貼り付けて、Visual Studio の複製先のディスクの場所を選択できます。

Visual Studio の [Git リポジトリのクローン作成] ダイアログ ボックス。

リポジトリの URL がわからない場合、Visual Studio を使用すると、既存の GitHub または Azure DevOps リポジトリを簡単に参照して複製できます。

Visual Studio 2019 で既存のローカル リポジトリを開く

リポジトリを複製または作成すると、Visual Studio によって Git リポジトリが検出され、Git メニューの [ローカル リポジトリ ] の一覧に追加されます。

ここから、Git リポジトリにすばやくアクセスして切り替えることができます。

Visual Studio の Git メニューの [ローカル リポジトリ] オプション

Visual Studio 2019 のソリューション エクスプローラーでファイルを表示する

リポジトリを複製したり、ローカル リポジトリを開いたりすると、Visual Studio は以前に開いたソリューションとプロジェクトを保存して閉じることで、その Git コンテキストに切り替えます。 ソリューション エクスプローラーは、Git リポジトリのルートにあるフォルダーを読み込み、ディレクトリ ツリーで表示可能なファイルをスキャンします。 これには、CMakeLists.txt などのファイルや、ファイル拡張子が .sln のファイルが含まれます。

Visual Studio では、ソリューション エクスプローラーで読み込むファイルに基づいてビューが調整されます。

  • 1 つの .sln ファイルを含むリポジトリをクローンすると、ソリューション エクスプローラーによってそのソリューションが直接読み込まれます。
  • ソリューション エクスプローラーがリポジトリ内の .sln ファイルを検出しない場合、既定ではフォルダー ビューが読み込まれます。
  • リポジトリに複数の .sln ファイルがある場合、ソリューション エクスプローラーには、選択可能なビューの一覧が表示されます。

現在開いているビューとビューの一覧を切り替えるには、ソリューション エクスプローラー ツール バーの [ビューの切り替え] ボタンを使用します。

Visual Studio で [ビューの切り替え] ボタンが選択されているソリューション エクスプローラー。

詳細については、「リポジトリからプロジェクトを開く」チュートリアルの「ソリューション エクスプローラーでファイルを表示する」セクションを参照してください。

Visual Studio 2019 の Git 変更ウィンドウ

Git により、作業中のリポジトリ内のファイルの変更が追跡され、リポジトリ内のファイルが 3 つのカテゴリに分割されます。 これらの変更は、コマンド ラインで git status コマンドを入力したときに表示されるものと同じです。

  • 未変更のファイル: これらのファイルは、最後のコミットから変更されていません。
  • 変更されたファイル: これらのファイルには最後のコミットからの変更が含まれていますが、まだ次回のコミット用にステージされていません。
  • ステージされたファイル: これらのファイルには、次のコミットに追加される変更が含まれています。

作業を行っている間、Visual Studio により、 [Git Changes](Git 変更) ウィンドウの [変更] セクションで、プロジェクトに対するファイルの変更が追跡されます。

Visual Studio の [Git の変更] ウィンドウ。

変更をステージングする準備ができたら、ステージングする各ファイルの + (プラス) ボタンをクリックするか、ファイルを右クリックして [ステージング] を選択します。 + セクションの上部にある、すべての [] (プラス) ボタンを使用して、変更したすべてのファイルをワンクリックでステージすることもできます。

変更をステージすると、Visual Studio によって [ステージされている変更] セクションが作成されます。 [ステージされている変更] セクションの変更のみが次のコミットに追加されます。これを行うには、[ステージ済みをコミット] を選択します。 このアクションの同等のコマンドは、git commit -m "Your commit message" です。 [–] (マイナス) ボタンをクリックして、変更をステージング解除することもできます。 このアクションの同等のコマンドは、1 つのファイルをステージ解除する git reset <file_path>、またはディレクトリ内のすべてのファイルをステージング解除する git reset <directory_path> です。

ステージ領域をスキップして、変更されたファイルをステージしないように選択することもできます。 この場合、Visual Studio を使用すると、変更をステージせずに直接コミットできます。 コミット メッセージを入力し、[すべてコミット] を選択します。 このアクションの同等のコマンドは、git commit -a です。

また、Visual Studio では、[すべてをコミットしてプッシュ][すべてをコミットして同期] を使用して、コミットと同期をワンクリックで簡単に行えます。 [変更] セクションと [ステージされている変更] セクションのいずれかのファイルをダブルクリックすると、変更されていないバージョンのファイルとの行ごとの比較を確認できます。

Visual Studio でのファイル バージョンの行ごとの比較

ヒント

Azure DevOps リポジトリに接続している場合は、"#" 文字を使用して、Azure DevOps 作業項目をコミットに関連付けることができます。 Azure DevOps リポジトリは、 Team Explorer>Manage Connections を使用して接続できます。

Visual Studio 2019 で既存のブランチを選択する

Visual Studio では、 Git 変更 ウィンドウの上部にあるセレクターに現在のブランチが表示されます。

Visual Studio の Git 変更セレクターの上部にあるセレクターを使用して表示できる現在のブランチ

現在のブランチは、Visual Studio IDE の右下隅にあるステータス バーでも使用できます。

Visual Studio IDE の右下隅にあるステータス バーを使用して表示できる現在の分岐

どちらの場所からも、既存のブランチを切り替えることができます。

Visual Studio 2019 で新しいブランチを作成する

新しいブランチを作成することもできます。 このアクションの同等のコマンドは、git checkout -b <branchname> です。

新しいブランチの作成は、ブランチ名を入力し、既存のブランチに基づいて作成するだけです。

Visual Studio の [新しいブランチの作成] ダイアログ ボックス

既存のローカルブランチまたはリモートブランチをベースとして選択できます。 [ブランチのチェックアウト] チェックボックスをオンにすると、新しく作成されたブランチに自動的に切り替わります。 このアクションの同等のコマンドは、git checkout -b <new-branch><existing-branch> です。

Visual Studio 2019 の Git リポジトリ ウィンドウ

Visual Studio には新しい Git リポジトリ ウィンドウがあり、リポジトリ内のすべての詳細 (すべてのブランチ、リモート、コミット履歴など) の統合ビューです。 このウィンドウには、メニュー バーの Git または View から直接アクセスするか、ステータス バーからアクセスできます。

Visual Studio 2019 でブランチを管理する

Git メニューから [ブランチの管理] を選択すると、Git リポジトリ ウィンドウにブランチのツリー ビューが表示されます。 左側のペインでは、右クリックのコンテキストメニューを使用して、ブランチのチェックアウト、新しいブランチの作成、マージ、リベース、チェリーピックなどを行うことができます。 ブランチをクリックすると、右側のペインにコミット履歴のプレビューが表示されます。

Visual Studio 2019 での受信コミットと送信コミット

ブランチをフェッチすると、 Git Changes ウィンドウのブランチドロップダウンの下にインジケータが表示され、リモートブランチからプルされていないコミットの数が表示されます。 このインジケータは、プッシュされていないローカルコミットの数も示します。

Visual Studio のインジケーター ドロップダウン UI 要素を表示する [Git の変更] ウィンドウ

このインジケーターは、 Git リポジトリ ウィンドウでそのブランチのコミット履歴に移動するためのリンクとしても機能します。 履歴の上部に、これらの受信コミットと送信コミットの詳細が表示されるようになりました。 ここから、コミットをプルまたはプッシュすることもできます。

Visual Studio のブランチのコミット履歴を表示する Git リポジトリ ウィンドウ

Visual Studio 2019 のコミットの詳細

コミットをダブルクリックすると、Visual Studio によってその詳細が別のツール ウィンドウに表示されます。 ここから、コミットを元に戻したり、コミットをリセットしたり、コミットメッセージを修正したり、コミットにタグを作成したりできます。 コミット時に変更されたファイルをクリックすると、Visual Studio によって、コミットとその親の [差分] ビューが並べて表示されます。

Visual Studio の [コミットの詳細] ダイアログ ボックス

Visual Studio 2019 でマージ競合を処理する

マージ中に競合が発生するのは、2 人の開発者がファイル内の同じ行を変更し、Git がどちらが正しいかを自動的に認識しない場合です。 Git はマージを停止し、競合状態にあることを通知します。

Visual Studio を使用すると、マージの競合を簡単に特定して解決できます。 まず、 Git リポジトリ ウィンドウの上部に金色の情報バーが表示されます。

Visual Studio の

[Git の変更] ウィンドウには、「マージが進行中です。競合しています」というメッセージも表示され、マージされていないファイルはその下の別のセクションに表示されます。

Visual Studio の

ただし、これらのウィンドウをどちらも開いておらず、代わりにマージ競合のあるファイルに移動する場合は、次のテキストを検索する必要はありません。

    <<<<<<< HEAD
    =======
    >>>>>>> main

代わりに、Visual Studio では、開いているファイルに競合があることを示すゴールドの情報バーがページの上部に表示されます。 次に、リンクをクリックして マージエディタを開くことができます。

Visual Studio の

Visual Studio 2019 のマージ エディター

Visual Studio のマージ エディターは、受信する変更、現在の変更、およびマージの結果を表示する 3 方向のマージ ツールです。 マージ エディタの最上位にあるツールバーを使用して、ファイル内の競合と自動マージされた相違点の間を移動できます。

Visual Studio のマージ エディター

トグルを使用して、違いの表示/非表示、単語の違いの表示/非表示、レイアウトのカスタマイズを行うこともできます。 各面の上部にはチェックボックスがあり、これを使用して一方の面または他方の面からすべての変更を取得できます。 ただし、個々の変更を行うには、両側の競合する線の左側にあるチェックボックスをクリックできます。 最後に、競合の解決が完了したら、マージ エディターの [マージを受け入れる] ボタンを選択できます。 次に、コミット メッセージを書き、変更をコミットして解決を完了します。

Visual Studio 2019 で Git 設定をパーソナライズする

リポジトリ レベルおよびグローバル レベルで Git 設定をパーソナライズおよびカスタマイズするには、メニュー バーの [Git>Settings ] に移動するか、メニュー バーの [Tools>Options>Source Control ] に移動します。 次に、必要な オプションを選択します

[オプション] ダイアログ ボックスでは、Visual Studio IDE で個人用設定とカスタマイズ設定を選択できます。

Visual Studio 2019 でチーム エクスプローラーの完全なエクスペリエンスを使用する方法

新しい Git エクスペリエンスは、 バージョン 16.8 以降の Visual Studio 2019 の既定のバージョン管理システムです。 ただし、オフにしたい場合はオフにすることができます。 [Tools>Options>Environment>Preview Features に移動し、[新しい Git ユーザー エクスペリエンス] チェック ボックスを切り替えると、Git のチーム エクスプローラーに戻ります。

Visual Studio の [オプション] ダイアログ ボックスの [プレビュー機能] セクション

次のステップ

ヒント

Visual Studio での Git と GitHub の使用については、 Git 学習シリーズにサインアップしてください。