[Git Changes]\(Git の変更\) ウィンドウには、コードから切り替えることなく、コーディング中に Git とシームレスに対話する方法が用意されています。 ただし、Git リポジトリに焦点を当てる方が理にかなっている場合があります。 たとえば、チームが何に取り組んでいるかを把握したり、 2 つのコミットを比較 してバグを調査したりする必要がある場合があります。
GitHub や Azure DevOps など、選択した Git プロバイダーをリモートで操作できます。
ローカルおよびリモートのブランチを参照する
開始するには、[表示] メニューの [Git リポジトリ] を選択して (または Ctrl+、Ctrl+ キーボード ショートカットを使用して) Git リポジトリ ウィンドウを開きます。 Git の [変更] ウィンドウとステータス バーで送信/受信リンクを選択して、Git リポジトリ ウィンドウにアクセスすることもできます。
Git リポジトリ ウィンドウには、前のスクリーンショットで示した 3 つのメイン セクションが含まれています。
ブランチ/タグ: Git を使用すると、ユーザーはマルチタスクを実行し、ブランチを介してコードを試すことができます。 Git での分岐は、いくつかのシナリオで役立ちます。特に、複数の機能を持つ複雑なプロジェクトに取り組む場合や、チームと共同作業する場合に役立ちます。 Visual Studio 17.13 以降では、リポジトリにタグを表示し、任意のタグに移動できます。 チームは git タグ (
v1.0
など) を使用して、リポジトリの履歴内のポイントをマークし、履歴内のその時点のリポジトリの状態を表示できます。 Git - タグ付けを参照してください。グラフ: このセクションでは、ブランチの状態を視覚化します。 次の 3 つのサブセクションがあります。
- [Incoming]\(入力方向\) には、自分のチームが貢献している入力方向のコミットが表示されます。
- [Outgoing]\(出力方向\) には、まだプッシュしていないローカル コミットが表示されます。
- ローカル履歴 には、ローカル リポジトリによって追跡されたコミットの残りの部分が表示されます。
コミット: このセクションを開くには、[ Graph ] セクションでコミットを選択します。 コミットによって導入された変更は、それらを選択することで確認できます。これは違いを示しています。 たとえば、前のスクリーンショットは、1 つのコミットが Resize.cs ファイルに導入した変更を示しています。
Alt+上方向キーまたは Alt+下方向キーボード ショートカットを使用すると、これらのセクション間を移動できます。
ブランチを切り替えることなく、任意のローカルブランチまたはリモートブランチを参照できます。 フォーカスするコミットが見つかると、[ 新しいタブで開く] ボタンを選択して、別のタブでコミットを開きます。
ヒント
コミットを全画面表示で表示するには、[ コミット ] タブをデタッチし、[最大化] ボタンを使用して [コミット ] ウィンドウを 最大化 します。 [Diff Configuration]\(差分構成\) (歯車アイコン) を選択して、お気に入りの 差分構成 を選択することもできます。
マルチブランチ履歴の表示
バージョン 17.7 の新機能: Git Repo ウィンドウを開くと、単一ブランチ ビューから開始します。 その後、任意のブランチを選択して、ブランチとそのコミットの両方をマルチブランチ履歴ビューに追加できます。これにより、複数のブランチとの対話をより効率的にする視覚的な手掛かりが追加されます。
[ローカル履歴] ビューの左側には、線の色分けと分岐ラベルの両方があり、各ブランチに属するコミットを簡単にトレースできます。 テーブルの上部にある分岐の一覧を使用すると、分岐間をより簡単にスクロールし、グラフに表示される分岐をすぐに把握できます。
[分岐/タグ] セクションで、ブランチの上にマウス ポインターを置くと、[ 履歴の分岐の切り替え ] ホバー ボタンが表示されます (アイコンは目のように見えます)。 ホバー ボタンを使用すると、コミット履歴ビューに表示するブランチを選択できます。
コミット履歴ビューの上部にあるツール バー ボタンを使用して、ブランチのビューとフィルターをカスタマイズできます。
最初の親のみを表示: コミット履歴を、独自のコミットシーケンスを持つサイドブランチではなく、単一行としてのみ表示するように履歴を制限します。
[ローカルブランチを表示]: 履歴ビューでローカルブランチのラベルを表示するかどうかを切り替えます。
リモート ブランチの表示: 表示しているコミット履歴に影響するリモート ブランチのラベルを表示するかどうかを切り替えます。
[タグの表示]: タグのラベルを表示するかどうかを切り替えます。
ローカルブランチの表示、 リモートブランチの表示、および タグの表示 はすべて、履歴ビューの左側に表示されるコミットのラベルインジケーターを参照します。
バージョン 17.14 の新機能: 同期されていないコミットに焦点を当てるには、[ 送信/受信のみ 表示] ツール バー ボタンを使用して、履歴ビューを変更して、送信コミット (現在のブランチからまだプッシュされていません) と受信コミット (リモートの新機能) のみを表示できます。
履歴ビューの任意の場所を右クリックして、コンテキスト メニューの [ 送信/受信のみ表示 ] を選択することもできます。
コミットを比較する
ブランチ内の 2 つのコミットを比較するには、 Ctrl キーを使用して、比較する 2 つのコミットを選択します。 次に、そのうちの 1 つを右クリックし、[ コミットの比較] を選択します。
ヒント
コミットの詳細と同様に、[新しいタブで開く] ボタンを使用すると、比較を別のタブで開いたり、画面上で最大化したりできます。
コミットからブランチを作成する
Visual Studio では、Git リポジトリ ウィンドウの Git Graph ペインを使用して、以前のコミットからブランチを作成できます。 これを行うには、新しいブランチを作成するコミットを右クリックし、[ 新しいブランチ] を選択します。
注
このアクションの同等のコマンドは、git branch <branchname> [<commit-id>]
です。
ブランチの比較
ブランチを比較すると、2 つのブランチ間の違いの概要が示されます。これは、プル要求の作成、マージ、またはブランチの削除を行う前に役立ちます。
Visual Studio を使用して現在チェックアウトされているブランチを他のブランチと比較するには、ステータス バーと Git 変更ツール ウィンドウでホストされているブランチ ピッカーを使用して、比較対象のローカルブランチまたはリモート ブランチを選択できます。 対象のブランチを右クリックし、[ Current Branch と比較] を選択します。 または、Git リポジトリ ウィンドウのブランチ リストを使用して、同じコマンドにアクセスすることもできます。
[ 現在のブランチと比較 ] を選択すると、比較ブランチ エクスペリエンスが開き、[ 変更] リスト内を移動して、比較するファイルを選択できます。
ヒント
インライン差分を使用する場合は、[Diff Configuration Options]\(差分構成オプション\) 歯車アイコンを使用してインライン差分ビューに切り替えることができます。
コミットのチェックアウト
コミットをチェックアウトすると、複数の方法で役立つ場合があります。 たとえば、リポジトリの履歴の前のポイントに戻って、コードを実行またはテストできます。 また、リモート ブランチ (同僚のブランチなど) のコードを確認する場合にも役立ちます。 そうすることで、ローカル ブランチに貢献する予定がない場合は、ローカル ブランチを作成する必要はありません。 この場合は、確認するリモート ブランチの先端だけをチェックアウトすることができます。
Visual Studio で以前のコミットをチェックアウトするには、 Git リポジトリ ウィンドウを開き、戻るコミットを右クリックして チェックアウト (–detach) を選択します。 コミットをチェックアウトすると、デタッチされた HEAD 状態になるという確認ダイアログが Visual Studio に表示されます。 つまり、リポジトリの HEAD は、ブランチではなくコミットを直接指し示します。
デタッチされたヘッド状態になったので、自由にコードを実行してテストしたり、変更を調査してコミットしたりすることもできます。 探索が完了し、ブランチに戻りたい場合は、既存のブランチをチェックアウトして変更を破棄するか、新 しいブランチを最初に作成 して変更を保持するかを選択できます。
重要
デタッチされたヘッド状態で作成されたコミットはどのブランチにも関連付けられていないので、ブランチをチェックアウトした後に Git によってガベージ コレクションされる可能性があります。 このため、変更を保持するには、ブランチをチェックアウトする前に新しいブランチを作成することをお勧めします。 たとえば、新しいブランチを作成せずに、メインをチェックアウトすると、コミット C5 と C6 がガベージ コレクションされます。
デタッチされたヘッドの状態の詳細については、 デタッチされたヘッド Git のドキュメントを参照してください。
リモート ブランチの先端をチェックアウトすると、プル要求をすばやく確認し、最新の更新プログラムを評価するのに役立ちます。 Visual Studio でこれを行うには、まず、リモート リポジトリから最新の更新プログラムをフェッチして取得します。 次に、確認するリモート ブランチを右クリックして、[先頭のコミットをチェックアウト] を選びます。
関連コンテンツ
- Visual Studio で Git リポジトリを管理する
- Visual Studio での Git の体験