VS Code でのソース管理
Visual Studio Code には、Git やその他のバージョン管理システムをエディタ内で直接操作できる統合ソース管理(SCM)機能があります。Git のサポートは標準で組み込まれており、他の SCM プロバイダーについては Visual Studio Marketplace から拡張機能をインストールできます。
統合されたソース管理インターフェースでは、ターミナルコマンドの代わりにグラフィカルなインターフェースを通じて Git 機能にアクセスできます。変更のステージング、ファイルのコミット、ブランチの作成、マージ競合の解決といった Git 操作を、コマンドラインに切り替えることなく実行可能です。
VS Code インターフェースで行った変更はコマンドラインの Git 操作と同期されるため、必要に応じて UI とターミナルの両方を使用できます。ソース管理インターフェースはコマンドラインを置き換えるものではなく、共存して機能します。
前提条件
VS Code で Git 機能を使用するには、以下が必要です。
-
VS Code は、マシンにインストールされている Git を使用します。マシンに Git バージョン 2.0.0 以降をインストールしてください。
-
変更をコミットする際、Git は設定されたユーザー名とメールアドレスを使用します。これらの値は以下で設定できます。
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
リポジトリを使い始める
VS Code は、Git リポジトリであるフォルダーを開くと自動的に検出し、すべてのソース管理機能を有効にします。新規または既存のリポジトリで作業を開始するには、いくつかのオプションがあります。
-
新しいリポジトリを初期化する: 現在のフォルダーに対して新しい Git リポジトリを作成します。
-
リポジトリをクローンする: GitHub または他の Git ホストから既存のリポジトリをクローンします。
-
リモートリポジトリを開く: GitHub Repositories 拡張機能を使用して、ローカルマシンにクローンすることなくリポジトリを操作します。
Publish to GitHub コマンドを使用すると、ローカルリポジトリを GitHub に直接公開できます。これにより、新しいリポジトリの作成とコミットのプッシュが一度の手順で行われます。
リポジトリのクローンと公開の詳細をご覧ください。
ソース管理インターフェース
VS Code は、いくつかの主要なインターフェース要素を通じて Git 機能を提供します。この UI 統合により、ターミナルコマンドを知らなくても Git 操作を実行できるようになります。
-
ソース管理ビュー: ステージング、コミット、変更管理などの一般的な Git 操作を行うための中心的なハブ

-
ソース管理グラフ: コミット履歴とブランチ関係のグラフィカルな表示

-
差分エディタ: 効果的な変更レビューのための並列(サイドバイサイド)ファイル比較

-
追加の UI 要素: エディタのガターインジケーターや Git blame 注釈など、コンテキストに応じた Git 情報

一般的なワークフロー
コミット前に変更をレビューする
変更をコミットする前に、精度と品質を確保するためにレビューすることが重要です。VS Code の AI 機能を使用して変更のコードレビューを行い、エディタ内でレビューコメントや提案を受け取ることができます。

変更のステージングとコミット
ソース管理ビューで変更をレビューし、各ファイルの横にある + アイコンを選択してファイルをステージングするか、すべての変更を一括でステージングします。より詳細な制御を行うには、ファイルの差分ビューから特定の行や選択範囲をステージングします。

入力ボックスにコミットメッセージを入力するか、コミットメッセージ入力ボックス内のきらめきアイコン () を選択して、AI にステージングされた変更に基づくコミットメッセージを生成させます。

変更のステージングとコミットの記述の詳細をご覧ください。
リモートとの同期
ブランチがリモートブランチに接続されている場合、VS Code はステータスバーに同期状況を表示し、ソース管理ビューで受信および送信コミットを表示します。迅速に同期したり、個別のフェッチ、プル、プッシュ操作を実行したりできます。

リポジトリとリモートの操作の詳細をご覧ください。
マージ競合の解決
マージ競合が発生すると、VS Code はソース管理ビューで競合しているファイルを強調表示します。競合のあるファイルを開くと、インラインの競合マーカーが表示されます。競合を解決するにはいくつかの選択肢があります。
- インラインエディタのアクションを使用して、エディタ内で直接競合を解決する方法を選択する
- 3 ウェイマージエディタを使用して、変更内容とマージ結果を並列表示する
- AI 支援を利用してマージ競合の解決をサポートする

マージ競合の解決の詳細をご覧ください。
ブランチ、ワークツリー、スタッシュの操作
VS Code は、並行開発を管理するための複数のワークフローをサポートしています。
-
単一のワークスペース内でブランチを素早く切り替え、異なる機能や修正に取り組む。

-
Git のワークツリーを使用して、異なるブランチ用に個別の作業ディレクトリを作成し、複数のブランチを同時に操作する。
-
Git のスタッシュを使用して、コンテキストを素早く切り替える必要がある場合にコミットされていない変更を一時的に保存する。
ブランチとワークツリーの操作の詳細をご覧ください。
コミット履歴の表示
コードがどのように変更されてきたかを理解するために、コミット履歴を確認することが役立ちます。
-
ソース管理グラフは、ブランチ構造とコミット履歴を視覚的に表示し、受信および送信コミットを強調表示します。

-
エクスプローラービューのタイムラインビューでは、特定のファイルのコミット履歴を表示し、どのように変化してきたかを確認できます。タイムラインをフィルタリングして Git コミットのみを表示したり、ローカルファイルの変更を含めたりすることも可能です。

グラフとタイムラインビューの使用および変更のレビューの詳細をご覧ください。
GitHub のプルリクエストと Issue の操作
VS Code は GitHub と統合されており、エディタ内で直接プルリクエストと Issue の管理を提供します。GitHub Pull Requests and Issues 拡張機能をインストールして、以下の操作を行えます。
- プルリクエストの作成、レビュー、マージ
- Issue の表示と管理
- VS Code を離れることなく PR にコメントし、承認する
- PR ブランチをチェックアウトし、ローカルで変更をレビューする
VS Code での GitHub の操作の詳細をご覧ください。
その他のソース管理プロバイダー
VS Code は複数のソース管理プロバイダーをサポートしています。Git のサポートは標準ですが、Azure DevOps、Subversion、Mercurial などの他のバージョン管理システムについては拡張機能をインストールすることで対応可能です。
拡張機能ビュー (⇧⌘X (Windows, Linux Ctrl+Shift+X)) で @category:"scm providers" と検索して、利用可能な SCM プロバイダー拡張機能を探すことができます。
次のステップ
-
ソース管理クイックスタート - VS Code での Git ソース管理を素早く開始する
-
入門ビデオ - Git バージョン管理 - VS Code の Git サポートの概要を解説する入門ビデオ
-
ブランチとワークツリー - ブランチ管理、Git ワークツリー、スタッシュ操作について学ぶ
-
リポジトリとリモート - クローン、公開、リモートリポジトリとの同期について学ぶ
-
GitHub の操作 - VS Code でプルリクエストと Issue を操作する方法を学ぶ
-
トラブルシューティング - 出力ログとトレースログを使用して Git の問題を診断・解決する
-
VS Code での Copilot - Git ワークフロー以外の AI 駆動機能を発見する