12

私は次のgitツリーを持っています:

branch v2 =>                    / --- [lots of work] --- [new version] --- ref_d
                               /
  root --- ref_a --- ... --- ref_b (project reset)
             \
branch v1 =>  \ --- [some works] --- ref_c

v1とv2は実際には異なるため、2つの異なるチームがv1とv2を維持します。次のように、2つの別々のブランチ2を異なるgitリポジトリに配置します。

repo_v1 : from root to ref_c
repo_v2 : from ref_b to ref_d

これはどのようにすればよいですか?ありがとう。

4

2 に答える 2

14

以下は、とという名前のリモートとして2つの別々の新しいリポジトリが設定されていることを前提としていrepo_v1ますrepo_v2

v1ブランチは簡単です。

git push repo_v1 ref_c:v1

v2ブランチはそれほど難しくありません:

git checkout --orphan v2 ref_b
git cherry-pick ref_b..ref_d
git push repo_v2 v2

git checkout --orphan <branchname> <startpoint>指定されたポイントから開始するが、そのコミットの親がない、まったく新しい履歴を作成します。)

于 2012-06-08T07:52:56.437 に答える