1. ホーム
  2. git

[解決済み] 同じGitプロジェクトで異なるブランチのVisual Studioインスタンスを2つ開く方法

2023-04-18 07:09:30

質問

2 つの Visual Studio インスタンスを開く必要があります。1 つはプロジェクト X / ブランチ 1 のコードを見るためだけで、もう 1 つはプロジェクト X / ブランチ 2 でコーディングするために使用されます。

コミットするときに変更を失うことなくそれを行うにはどうすればよいですか。

どのように解決するのですか?

ここでの問題は、Visual Studio の問題ではなく、Git がどのように動作するかにあります。 git でブランチをチェックアウトすると、そのブランチを作業ツリーまたは(ファイル構造、あなたがそれを呼び出したいものは何でも)配置します。

git では一度にチェックアウトできるのは一つのブランチだけですが、ちょっと待ってください。 解決策があるのです! を利用することで git worktree コマンドを使用すると、同じリポジトリに対して、異なるディレクトリに2つ目のワークツリーを作成することができます。そして、そのワークツリーを Visual Studio で開くと、2 つの異なるブランチをチェックアウトさせることができます。

例えば、次のようなものがあるとします。 C:\projects\the_project で、新しいワークツリーを作る場合、例えば C:\projects\the_project_2 に新しいワークツリーを作りたい場合、git bash を開き、プロジェクトのディレクトリに移動して

git worktree add ../the_project_2 <branch>

は新しい作業ツリーでチェックアウトさせたいブランチです。

これは新しいディレクトリ "C:\projects\the_project_2") を作成し、そこにブランチをチェックアウトします。リポジトリを再クローンする必要はありません。

より詳細な情報は git worktree ドキュメント .

注意してください。 Visual Studio の以前のバージョンでは、追加のワークツリーをどのように扱うかわからず、git リポジトリとして認識されません。