19

最近バージョン管理を使い始めたプロジェクトがあります。
このプロジェクトには、後世のためにバージョン管理に追加したいが、現在のmasterブランチの最初のコミットの祖先でも子孫でもない、完全に異なるコードを使用した古い試みがあります。

以前の履歴なしで、このための新しい並列ブランチを作成したいと考えています (つまり、複数の「初期コミット」が必要です。2 つ目のリポジトリを作成しなくても、Git でこれは可能ですか? コミット ツリーは次のようになります。

o---o---o   master
     \
      o---o   branch

o   old implementation

git checkout oldコードにアクセスするために簡単に使用できるようにします。90 日後にガベージ コレクターでクリーンアップしてはならず、オプションでタグ付けすることもできます。

4

3 に答える 3

26

git checkoutまさにそのようなユースケースのオプションがあります: --orphan.

Git マニュアルから:

--orphan <new_branch>

という名前の新しい孤立したブランチを作成し、<new_branch>そこから開始し<start_point>て切り替えます。この新しいブランチで行われた最初のコミットには親がなく、他のすべてのブランチやコミットから完全に切り離された新しい履歴のルートになります。

また、男性ははっきりと次のように述べています。

のパスとはまったく異なる一連のパスを記録する切断された履歴を開始する場合は<start_point>、孤立したブランチを作成した直後に、作業ツリーgit rm -rf .の最上位から " " を実行して、インデックスと作業ツリーをクリアする必要があります。木。

于 2013-09-11T14:22:51.707 に答える
3

孤立したブランチを作成する必要があります:

git checkout --orphan <branch>
于 2013-09-11T14:23:19.113 に答える