VS Code における Git ブランチとワークツリー
Git ブランチを使用すると、メインのコードベースに影響を与えることなく、さまざまな機能や実験を同時に作業できます。VS Code には、ブランチ管理、並列開発のための Git ワークツリー、一時的な変更のためのスタッシュ管理のためのツールが用意されています。
この記事では、VS Code でブランチ、ワークツリー、スタッシュを操作して、並列開発作業を管理する方法について説明します。
ブランチの操作
ブランチは、Git の履歴における特定のコミットへの、軽量で移動可能なポインターです。これにより、開発のメインラインから分岐し、独立して機能に取り組むことができます。
たとえば、Web アプリケーションを開発していて、支払いシステムでバグを修正しながら、ユーザー認証を追加する必要があるとします。この場合、2 つのブランチを作成できます。
feature/user-authentication- ログインおよびサインアップ機能が含まれますbugfix/payment-validation- 支払い処理エラーの修正が含まれます
各ブランチは、他のブランチに影響を与えることなく、独自の変更セットを維持します。ブランチ間を切り替えてさまざまなタスクに取り組むことができ、完了したブランチは後でメインブランチにマージできます。
現在のブランチを表示
現在のブランチは、VS Code のいくつかの場所に表示されます。
- ステータス バー: 現在のブランチ名を表示し、ブランチの切り替えを迅速に行えます。
- リポジトリ ビュー: リポジトリ ヘッダーに現在のブランチを表示します。
- ソース コントロール グラフ: ブランチの関係と履歴を視覚的に表現します。

ブランチの切り替え
別のブランチに切り替えることは、Git 用語では「チェックアウト」と呼ばれます。ブランチをチェックアウトすると、Git は作業ディレクトリをそのブランチの状態に合わせて更新します。
別のブランチに切り替えるには
-
ステータス バーでブランチ名を選択するか、コマンド パレットから Git: Checkout to コマンドを実行します (コマンド パレットは ⇧⌘P (Windows, Linux Ctrl+Shift+P))。
-
利用可能なブランチのリストから選択します。
- ローカル ブランチ: ローカル マシンに存在するブランチ。
- リモート ブランチ: リモート リポジトリからのブランチで、ローカルでチェックアウトできます。
- 最近使用したブランチ: 最近使用したブランチ。
ブランチを切り替える際にコミットされていない変更がある場合、Git は作業内容の損失を避けるために切り替えを拒否する場合があります。切り替える前に、変更をコミットするか、スタッシュを使用することを検討してください。
新しいブランチの作成
機能や実験の作業を開始するために新しいブランチを作成します。
-
ステータス バーでブランチ名を選択するか、コマンド パレットから Git: Create Branch を実行します。
-
新しいブランチの名前を入力します。
feature/user-authenticationやbugfix/login-errorのようなわかりやすい名前を使用してください。ヒントVS Code はランダムなブランチ名を生成できます。これは、git.branchRandomName.enable および git.branchRandomName.dictionary 設定で構成できます。
-
新しいブランチを作成するソース ブランチ (通常は
mainまたはdevelop) を選択します。

VS Code は、作成後に新しいブランチに切り替えます。
GitHub Pull Requests and Issues 拡張機能を使用している場合、GitHub の課題から直接ブランチを作成でき、新しいローカル ブランチでの作業を開始し、プル リクエストを自動的に事前入力できます。
ブランチの名前変更と削除
現在のブランチの名前を変更するには
- コマンド パレットから Git: Rename Branch を実行するか、その他のアクション (...) メニューから選択します。
- 新しいブランチ名を入力します。
ブランチを削除するには
- 別のブランチに切り替えます (現在アクティブなブランチは削除できません)。
- コマンド パレットから Git: Delete Branch を実行するか、その他のアクション (...) メニューから選択します。
- リストから削除するブランチを選択します。
一致する Delete Remote Branch アクションを使用して、リモート ブランチを削除することもできます。
ブランチを削除すると、ローカル リポジトリから完全に削除されます。ブランチがマージされているか、変更が不要であることを確認してください。
ブランチのマージと公開
機能が完了したら、メイン ブランチにマージします。
- ターゲット ブランチ (通常は
mainまたはdevelop) に切り替えます。 - コマンド パレットから Git: Merge Branch を実行します。
- マージするブランチを選択します。
ブランチをリモート リポジトリに公開するには、Publish Branch アクションを使用します。
VS Code は、ソース コントロール ビューでマージ結果を表示します。競合がある場合、VS Code はそれを強調表示し、解決するためのツールを提供します。マージ競合の解決方法については、こちらをご覧ください。
Git ワークツリーの操作
VS Code には Git worktrees の組み込みサポートがあり、複数のブランチを同時に簡単に管理および操作できます。
ワークツリーの理解
ワークツリーは、Git ブランチの個別のディレクトリへのチェックアウトです。これにより、同じリポジトリに対して、それぞれ異なるブランチ上に複数の作業ディレクトリを持つことができます。ワークツリー機能は、特に次の場合に役立ちます。
- 個別のフォルダーで複数の機能を同時に操作する
- アプリケーションの異なるバージョンを並べて実行する
- ブランチ間で実装を比較する
ワークツリーの作成
VS Code で新しいワークツリーを作成するには
-
ソース コントロール ビューから、ソース コントロール リポジトリ ビューを開きます。

-
リポジトリを右クリックし、Worktree > Create Worktree を選択します。

-
プロンプトに従って、新しいワークツリーのブランチと場所を選択します。
VS Code は、指定された場所にワークツリー用の新しいフォルダーを作成し、選択したブランチをそのフォルダーにチェックアウトします。
新しいワークツリーは、ソース コントロール リポジトリ ビューに個別のエントリとして表示されます。
ワークツリー間の切り替え
VS Code は、複数のリポジトリ (ワークツリーを含む) を同時に表示できます。
- 各ワークツリーは、ソース コントロール リポジトリ ビューで個別のリポジトリとして表示されます。
- 複数の VS Code ウィンドウを開くことができ、それぞれが異なるワークツリーを指すことができます。
- File > Open Recent を使用して、ワークツリー ディレクトリ間をすばやく切り替えます。
ワークツリーを開く
ワークツリーを開くには、いくつかの方法があります。
-
ワークツリーに関連付けられたフォルダーを VS Code で直接開きます。VS Code は、それが既存のリポジトリのワークツリーであることを自動的に検出します。
-
ソース コントロール リポジトリ ビューでワークツリーを右クリックし、Open Worktree in New Window または Open Worktree in Current Window を選択します。
-
コマンド パレットで Git: Open Worktree in Current Window または Git: Open Worktree in New Window コマンドを実行し、目的のワークツリーを選択します。
ワークツリーからの変更の比較と移行
ワークツリーで変更を加えた場合、それらの変更をメインのワークスペースと比較し、ワークツリーの変更をメインのリポジトリに戻すことができます。
-
ソース コントロール ビューで、ワークツリー内の変更されたファイルを右クリックし、Compare with Workspace を選択して、違いを並べて表示します。

-
レビュー後、コマンド パレットの Migrate Worktree Changes コマンドを使用して、ワークツリーのすべての変更を現在のワークスペースにマージします。
次のステップ
- ステージングとコミット - ブランチ内での変更のコミットについて学習します。
- マージ競合 - ブランチをマージする際の競合を処理します。
- リポジトリとリモート - リモート ブランチと共同作業について説明します。
- GitHub での共同作業 - ブランチのワークフローで GitHub プル リクエストを使用します。