VSCode Git連携でバージョン管理を効率化する
Visual Studio Code(VSCode)は、Git統合機能を標準搭載しており、ターミナルを使わずにGUI操作でバージョン管理を行えます。VSCode Git連携を活用することで、ステージング、コミット、ブランチ操作、コンフリクト解決、履歴参照といった日常的なGit操作を直感的に実行できます。
本記事では、VSCodeのソース管理パネルの基本操作から、GitLens拡張機能による高度な機能、3-wayマージエディタによるコンフリクト解決まで、実務で即活用できるVSCode Git連携のテクニックを網羅的に解説します。
この記事で得られること
- VSCodeソース管理パネルの基本操作と各機能の使い方
- GitLens拡張機能による履歴参照・Blame表示の活用法
- 差分ビュー(Diffエディタ)の効果的な使い方
- ブランチ操作とマージの実践テクニック
- 3-wayマージエディタによるコンフリクト解決手順
- VSCode Git連携を最大限活用するための設定
前提条件と実行環境
VSCode Git連携を利用するには、以下の環境が必要です。
| 項目 | 要件 |
|---|---|
| VSCode | バージョン1.80以上推奨 |
| Git | バージョン2.0.0以上 |
| OS | Windows 10/11、macOS 10.15以上、Linux |
Gitの初期設定
VSCodeでGit機能を使用する前に、ユーザー名とメールアドレスを設定します。
|
|
設定が完了すると、VSCodeは自動的にGitリポジトリを検出し、ソース管理機能を有効化します。
VSCodeソース管理パネルの基本操作
VSCode Git連携の中心となるのがソース管理パネルです。サイドバーのアイコンまたはショートカットキーCtrl+Shift+G(Mac: Cmd+Shift+G)で開きます。
ソース管理パネルの構成
ソース管理パネルは以下の要素で構成されています。
| 要素 | 説明 |
|---|---|
| コミットメッセージ入力欄 | コミットメッセージを入力するテキストボックス |
| Staged Changes | ステージング済みの変更ファイル一覧 |
| Changes | 未ステージングの変更ファイル一覧 |
| ソースコントロールグラフ | コミット履歴のビジュアル表示 |
リポジトリの初期化とクローン
新しいプロジェクトでGitを開始する方法は2つあります。
リポジトリの初期化
- ソース管理パネルを開く(
Ctrl+Shift+G) - 「Initialize Repository」ボタンをクリック
リポジトリのクローン
- ソース管理パネルで「Clone Repository」を選択
- リポジトリURLを入力、またはGitHubから選択
- 保存先フォルダを選択
- クローン完了後、ワークスペースとして開く
コマンドパレット(Ctrl+Shift+P)からGit: Cloneを実行する方法もあります。
VSCode Git連携によるステージングとコミット
日常的なGit操作で最も頻繁に行うのが、ステージングとコミットです。VSCode Git連携では、これらの操作をマウスクリックだけで完了できます。
ファイルのステージング
変更をコミットする前に、対象ファイルをステージングエリアに追加します。
| 操作 | 方法 |
|---|---|
| 個別ファイルのステージング | ファイル名の横の+アイコンをクリック |
| 全ファイルのステージング | Changesヘッダーの+アイコンをクリック |
| 部分的なステージング | 差分ビューで行を選択し、右クリックから「Stage Selected Ranges」 |
ステージングを取り消すには、Staged Changesセクションのファイル横にある-アイコンをクリックします。
コミットの実行
ステージング後、コミットメッセージを入力してコミットを実行します。
- ソース管理パネル上部のテキストボックスにコミットメッセージを入力
Commitボタンをクリック、またはCtrl+Enterを押下
GitHub Copilotを利用している場合、コミットメッセージ入力欄のスパークルアイコンをクリックすると、変更内容に基づいたコミットメッセージをAIが自動生成します。
変更の破棄
誤った変更を元に戻したい場合は、以下の操作で破棄できます。
| 操作 | 方法 |
|---|---|
| 個別ファイルの変更破棄 | ファイルを右クリック→「Discard Changes」 |
| 全変更の破棄 | Changesヘッダーの「Discard All Changes」 |
差分ビュー(Diffエディタ)の活用
VSCode Git連携では、ファイルの変更内容を視覚的に確認できる差分ビューを提供しています。
差分ビューの開き方
ソース管理パネルで変更ファイルをクリックすると、自動的に差分ビューが開きます。
| 表示モード | 説明 |
|---|---|
| サイドバイサイド | 左に変更前、右に変更後を並べて表示 |
| インライン | 変更箇所を1つのビューに統合表示 |
右上のアイコンで表示モードを切り替えられます。
差分ビューの機能
差分ビューでは以下の操作が可能です。
- 変更箇所へのジャンプ: 上下矢印アイコンで前後の変更箇所に移動
- 行単位のステージング: 特定の行だけを選択してステージング
- 変更の取り消し: 特定の変更を右クリックから破棄
エディタガターインジケーター
VSCode Git連携では、エディタの左側ガターに変更状態を示すインジケーターが表示されます。
| 色 | 意味 |
|---|---|
| 緑の縦線 | 新規追加された行 |
| 青の縦線 | 変更された行 |
| 赤の三角 | 削除された行 |
ガターインジケーターをクリックすると、その箇所の変更内容をポップアップで確認できます。
VSCode Git連携によるブランチ操作
ブランチ操作は、機能開発やバグ修正を独立して進めるために不可欠です。VSCode Git連携では、ブランチの作成・切り替え・マージをGUIで簡単に実行できます。
現在のブランチ確認
現在のブランチは以下の場所で確認できます。
- ステータスバー左下: ブランチ名が表示され、クリックで切り替え可能
- ソースコントロールグラフ: ブランチの分岐と履歴を視覚的に表示
ブランチの作成
新しいブランチを作成する手順は以下のとおりです。
- ステータスバーのブランチ名をクリック
- 「Create new branch…」を選択
- ブランチ名を入力(例:
feature/user-authentication) - Enterキーで作成完了
作成後、自動的に新しいブランチに切り替わります。
ブランチの切り替え(チェックアウト)
- ステータスバーのブランチ名をクリック
- 切り替え先のブランチを選択
または、コマンドパレットからGit: Checkout to...を実行します。
ブランチのマージ
機能開発が完了したら、メインブランチにマージします。
- マージ先のブランチ(例:
main)に切り替え - コマンドパレットから
Git: Merge Branch...を実行 - マージするブランチを選択
マージ結果はソース管理パネルに表示されます。コンフリクトが発生した場合は、後述のコンフリクト解決手順で対応します。
ブランチの削除
不要になったブランチは以下の手順で削除します。
- 削除対象以外のブランチに切り替え
- コマンドパレットから
Git: Delete Branch...を実行 - 削除するブランチを選択
リモートブランチを削除する場合はGit: Delete Remote Branch...を使用します。
リモートリポジトリとの同期
VSCode Git連携では、リモートリポジトリとの同期操作もGUIで実行できます。
プッシュとプル
| 操作 | 方法 |
|---|---|
| 同期(プル+プッシュ) | ステータスバーの同期アイコンをクリック |
| プルのみ | ソース管理パネルの「…」→「Pull」 |
| プッシュのみ | ソース管理パネルの「…」→「Push」 |
ステータスバーには、未プッシュのコミット数と未プルのコミット数が表示されます。
リモートリポジトリへの公開
ローカルで作成したリポジトリをGitHubに公開する場合は、「Publish to GitHub」ボタンを使用します。
- ソース管理パネルの「Publish to GitHub」をクリック
- リポジトリ名を入力
- パブリック/プライベートを選択
- 公開実行
コンフリクト解決の実践テクニック
マージやリベース時にコンフリクトが発生した場合、VSCode Git連携には強力な解決ツールが用意されています。
コンフリクトの認識
コンフリクトが発生すると、以下の表示で通知されます。
- ソース管理パネルに「Merge Changes」セクションが出現
- 該当ファイルにコンフリクトマーカーが表示
コンフリクトマーカーの構造は以下のとおりです。
|
|
インラインアクションによる解決
VSCodeでは、コンフリクトマーカーの上にCodeLensアクションが表示されます。
| アクション | 説明 |
|---|---|
| Accept Current Change | 現在のブランチの変更を採用 |
| Accept Incoming Change | マージ元ブランチの変更を採用 |
| Accept Both Changes | 両方の変更を順番に採用 |
| Compare Changes | 差分を並べて比較 |
シンプルなコンフリクトは、これらのワンクリック操作で解決できます。
3-wayマージエディタの活用
複雑なコンフリクトには、3-wayマージエディタを使用します。
マージエディタの開き方
- コンフリクトファイルを右クリック
- 「Open in Merge Editor」を選択
または、エディタ上部の「Resolve in Merge Editor」ボタンをクリックします。
マージエディタの構成
graph TB
subgraph "3-way マージエディタ"
A[Incoming<br>マージ元の変更] --> C[Result<br>マージ結果]
B[Current<br>現在の変更] --> C
end| パネル | 説明 |
|---|---|
| Incoming(左) | マージ元ブランチの変更内容 |
| Current(右) | 現在のブランチの変更内容 |
| Result(下) | マージ結果のプレビュー |
マージエディタでの解決手順
- IncomingとCurrentパネルで変更内容を確認
- 各コンフリクトのチェックボックスで採用する変更を選択
- 必要に応じてResultパネルを直接編集
- 全コンフリクト解決後、「Complete Merge」をクリック
AIによるコンフリクト解決(実験的機能)
GitHub Copilotを利用している場合、AIによるコンフリクト解決機能を試すことができます。
- コンフリクトファイルを開く
- 「Resolve Merge Conflict with AI」ボタンをクリック
- AIが提案する解決案を確認
- 必要に応じて調整して採用
AIは両方の変更の意図を分析し、最適な解決案を提案します。
GitLens拡張機能によるVSCode Git連携の強化
GitLensは、VSCode Git連携を大幅に強化する拡張機能です。インストール数4,600万以上を誇り、コード履歴の可視化に欠かせないツールとなっています。
GitLensのインストール
|
|
または、拡張機能パネルで「GitLens」を検索してインストールします。
Blame情報の表示
GitLensの最も基本的な機能が、各行の変更履歴(Blame情報)の表示です。
| 表示タイプ | 説明 |
|---|---|
| インラインBlame | 各行末に最終更新者と日時を表示 |
| ステータスバーBlame | 現在行の変更情報をステータスバーに表示 |
| CodeLens | ファイル・ブロック単位で変更情報を表示 |
| ホバー | 行にホバーすると詳細情報をポップアップ表示 |
GitLensの推奨設定
settings.jsonに以下を追加すると、GitLensの機能を最大限活用できます。
|
|
ファイルアノテーション
GitLensは、ファイル全体の変更履歴を可視化する3種類のアノテーションを提供します。
| アノテーション | 説明 | コマンド |
|---|---|---|
| File Blame | 各行の最終変更者を表示 | Toggle File Blame |
| File Changes | 直近の変更箇所をハイライト | Toggle File Changes |
| File Heatmap | 変更頻度をヒートマップで可視化 | Toggle File Heatmap |
コマンドパレットから各Toggleコマンドを実行して切り替えます。
GitLensサイドバービュー
GitLensは複数のサイドバービューを追加します。
| ビュー | 説明 |
|---|---|
| Commits | 現在ブランチのコミット履歴 |
| File History | 選択ファイルの変更履歴 |
| Line History | 選択行の変更履歴 |
| Branches | ブランチ一覧と管理 |
| Remotes | リモートリポジトリ情報 |
| Stashes | スタッシュの管理 |
| Search & Compare | コミット検索とブランチ比較 |
リビジョンナビゲーション
GitLensのリビジョンナビゲーション機能を使うと、ファイルの過去バージョンを簡単に閲覧できます。
- エディタ右上の
</>アイコンをクリック - ファイルの過去/未来のリビジョンに移動
- 任意のバージョンの内容を確認
特定のコミット時点のコードを確認したい場合に便利です。
Commit Graph(Pro機能)
GitLens Proでは、コミット履歴をビジュアルグラフで表示するCommit Graphが利用できます。
- ブランチの分岐・マージを視覚的に把握
- コミットの検索・フィルタリング
- グラフ上から直接リベース・マージ操作
無料版でもパブリックリポジトリでは利用可能です。
ソースコントロールグラフの活用
VSCode標準機能のソースコントロールグラフでも、コミット履歴を視覚的に確認できます。
ソースコントロールグラフの開き方
ソース管理パネル下部の「Source Control Graph」セクションを展開します。
グラフの読み方
gitGraph
commit id: "Initial commit"
branch feature
commit id: "Add feature"
commit id: "Fix bug"
checkout main
merge feature id: "Merge feature"
commit id: "Release"- 各ノードがコミットを表現
- 線の分岐がブランチの作成を示す
- 線の合流がマージを示す
グラフからの操作
ソースコントロールグラフでは、コミットを右クリックして以下の操作が可能です。
- コミット詳細の表示
- チェリーピック
- リバート
- ブランチの作成
タイムラインビューによる履歴参照
エクスプローラーパネルのタイムラインビューを使うと、ファイル単位の変更履歴を確認できます。
タイムラインビューの開き方
- エクスプローラーパネルを開く
- 下部の「TIMELINE」セクションを展開
- 対象ファイルを選択
タイムラインビューの機能
- ファイルのコミット履歴を時系列で表示
- 各コミットをクリックして差分を確認
- ローカルの保存履歴(Local History)も表示可能
フィルターアイコンでGitコミットのみ、ローカル履歴のみの表示切り替えができます。
Stash(スタッシュ)管理
作業中の変更を一時的に退避するStash機能も、VSCode Git連携でGUIから操作できます。
スタッシュの作成
- コマンドパレットから
Git: Stashを実行 - スタッシュメッセージを入力
- 変更が退避され、作業ディレクトリがクリーンになる
スタッシュの適用
- コマンドパレットから
Git: Apply Stash...を実行 - 適用するスタッシュを選択
Git: Pop Stash...を使用すると、適用と同時にスタッシュを削除します。
GitLensでのスタッシュ管理
GitLensのStashesビューでは、スタッシュの一覧表示と以下の操作が可能です。
- スタッシュの内容プレビュー
- 適用(Apply)
- ポップ(Pop)
- 削除(Drop)
- 差分表示
VSCodeをGitのデフォルトツールに設定
VSCodeをGitの標準エディタおよびマージツールとして設定すると、コマンドラインからの操作時にもVSCodeが起動します。
デフォルトエディタの設定
|
|
マージツールの設定
|
|
Diffツールの設定
|
|
VSCode Git連携のキーボードショートカット
頻繁に使用するGit操作のショートカットを覚えると、作業効率が向上します。
| 操作 | Windows/Linux | Mac |
|---|---|---|
| ソース管理パネルを開く | Ctrl+Shift+G |
Cmd+Shift+G |
| 変更をステージング | Ctrl+K, Ctrl+S |
Cmd+K, Cmd+S |
| コミット | Ctrl+Enter(入力欄フォーカス時) |
Cmd+Enter |
その他の操作は、コマンドパレット(Ctrl+Shift+P)からGit:で検索して実行できます。
VSCode Git連携の推奨設定まとめ
効率的なVSCode Git連携のためのsettings.json設定をまとめます。
|
|
| 設定 | 説明 |
|---|---|
git.enableSmartCommit |
ステージング済みファイルがない場合、全変更を自動ステージング |
git.autofetch |
定期的にリモートから変更を自動取得 |
diffEditor.renderSideBySide |
差分をサイドバイサイドで表示 |
まとめ
VSCode Git連携を活用することで、Gitの操作をターミナルコマンドを覚えることなくGUIで直感的に実行できます。本記事で紹介した機能を活用すれば、日常的なバージョン管理作業を大幅に効率化できます。
VSCode Git連携の主要ポイント
| 機能 | 活用場面 |
|---|---|
| ソース管理パネル | ステージング・コミット・同期の基本操作 |
| 差分ビュー | 変更内容の確認と部分ステージング |
| ソースコントロールグラフ | コミット履歴の視覚的な把握 |
| 3-wayマージエディタ | 複雑なコンフリクトの解決 |
| GitLens | 詳細な履歴参照とBlame情報の表示 |
まずはソース管理パネルでの基本操作を習得し、徐々にGitLensの機能を取り入れていくことをおすすめします。GUIでの操作に慣れたら、コマンドラインとの併用でさらに効率的なワークフローを構築できます。