[解決済み] 同じGitプロジェクトで異なるブランチのVisual Studioインスタンスを2つ開く方法
質問
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 リポジトリとして認識されません。
関連
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] GitHubでフォークされたリポジトリを更新または同期するにはどうすればよいですか?
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] git rebase の取り消し
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] 異なる2つのブランチのファイルを比較する方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】Gitバージョン管理でファイルの変更履歴を見る
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
git commit コマンドで追跡した新規ファイルをコミットすると、プロンプト *** Please tell me who you are が表示されます。
-
Git はファイル名の大文字と小文字を無視し、修正する
-
giteaを使ったGitサービスの構築
-
git-fatal: 設定されたプッシュターゲットがありません / 警告: store/README.md の LF は CRLF に置き換えられています。
-
[解決済み】gitが2つのブランチで同時に動作する件
-
[解決済み] チェリーピックのコンフリクトを解決するにはどうしたらいいですか?
-
[解決済み] Git は、省略形のコミット ID が 2 つの異なるコミットを参照する場合に警告を発しますか?
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] ローカルのGitブランチをリモートレポにコピーする方法
-
[解決済み] git add --patch' で新しいファイルをインクルードする?