それでも、分岐は機能するはずであり、2 つの別々のバージョンを維持できるようになります。
プレミアム バージョンに当てはまるバグがある場合は、 で修正し、ブランチmaster
でマージしてください。Git は、 と の間で分岐してから変更されたもの、つまりバグ修正
のみをマージします。
ホットフィックスを公開する別の方法として、共通の祖先から公開する方法があります。「ホットフィックスを複数のブランチにマージする Git 」を参照してください。premium
master
premium
master
premium
2015 年更新: git 2.5 (2015 年 7 月) はgit-new-workdir
、以下に示すものを新しいコマンドに置き換えましたgit worktree add <path> [<branch>]
。
詳細については、「Git で複数の作業ディレクトリを使用しますか?」を参照してください。
元の回答2012:
me-andは、コメントでコマンド git-new-workdirについて言及しています。
見る:
これに対する 1 つの解決策は、リポジトリの別のローカル クローンを作成することです。Git は、ローカルで複製するときに自動的にハード リンクを使用するため、複製は非常に高速です。
しかし、これには 1 つの問題があります。最新の状態に保つ必要がある別の別のリポジトリができてしまいます。
ここでgit-new-workdir
出番です。
リポジトリの完全なクローンを作成する代わりに、(独自のインデックスを使用して) 新しい作業ディレクトリをセットアップするだけです。
実際のリポジトリ自体は、元の作業ディレクトリと新しい作業ディレクトリの間で共有されます。これの意味は:
- 1 つのリポジトリを更新すると、新しいコミットは他のすべての作業ディレクトリでも即座に表示されます。
- 作業ディレクトリの 1 つに新しいコミットまたはブランチを作成します。それらはすべての作業ディレクトリですぐに利用できます。
注: コミットは自動的に存在しますが、同じブランチをチェックアウトした場合、Git は作業コピーを更新しません。あなたは自分でそれをしなければなりません。