web-dev-qa-db-ja.com

同じプロジェクトで複数のgitブランチを同時に表示することはできますか?

私は2つのブランチを持っていますが、まだマージする準備ができていませんが、いくつかの補完的なロジックがあり、レビューしたいです(マージする前に)

同じプロジェクトの複数のgitブランチをチェックアウトできますか?出来ますか?

54
JAM

リポジトリを新しい場所にコピーするだけです(ディレクトリをそのままコピーするか、 git clone --shared )そして、ロケーションごとに1つのブランチをチェックアウトします。

git-worktree リポジトリの単一インスタンスから複数の作業ディレクトリを作成します。

それ以外の場合、ブランチをマージする前にブランチ間でファイルを比較する主な手段はgit diff

56
meagar

Git 2.5+(2015年第2四半期)では、Gitリポジトリは複数の作業ツリーgit worktree add <path>(そして、それはcontrib/workdir/git-new-workdir

これらの「リンクされた」作業ツリーは、実際にメインリポジトリnew $GIT_DIR/worktreesフォルダ(Windowsを含むすべてのOSで動作するように)。

詳細については、「 Gitを使用した複数の作業ディレクトリ? "

10
VonC

はい、適切に注意して可能です。ただし、--work-tree=<path>オプションを使用して、通常のgitディレクトリから「離れた」コピーの1つを取得しているため、特別な指示がない限り、そこの変更はgitには表示されません。ここに例を示しました single-working-branch-with-git -UPDATEDセグメントを参照してください。

git-new-workdirは、Windows XPでは動作しません。Unixスタイルのリンクが必要です。

1
Philip Oakley

私の頭に浮かぶ最初のことは、別々のプロジェクトで各ブランチをチェックアウトすることです。 1.プライマリクローンのブランチAをチェックアウト(1)2.新しいクローンを作成(2)3.クローン2のブランチBをチェックアウト

2番目のアプローチは、新しいブランチ(別名C)を作成し、ブランチAとBの両方をそれにマージすることです。彼らが無料の場合、これはあなたのレビューに役立つかもしれません。

1
Munhitsu