2016-12-25 21 views
3

「古いリポジトリ」のマスターブランチのみを「新しいリポジトリ」の のブランチ「X」にミラーリングしたいとします。私はこれをどのようにして行うのですか? [明確にするために、私はレポや他のブランチ全体をミラーリングしたくない]特定のブランチを別のリポジトリのブランチにどのようにミラーリングしますか?

これをミラーリングすると、ある時点で "X"を取り、すべての新しい変更を「新しいリポジトリ」私はプルの要求をすることができることを知っているが、私はどのようにターミナルを通じてこれを行うだろうか?

ありがとうございました。

答えて

1

リモートの古いリポジトリをgit remote add <name> <url>で追加し、git fetch <name> <branch> ...で1つ以上のブランチをフェッチすることで、これを行うことができます。その後、他のリモートブランチと同様に作業し、ブランチを通常git merge <name>/<branch>とマージすることができます。

大きなファイルがたくさんある巨大なブランチ(git-lfsを使用すると恩恵を受けるような)のような特定の状況を除いて、私はそれを勧めます。余計な複雑さは必要ありません。

Gitが機能するため、ほとんどのブランチはリポジトリの大半を共有します。開いているブランチを1つフェッチすると、他のブランチをフェッチするのが低コストになります。あなたはその後、git fetch old branch2それだけフェッチする場合は例えば...

         Q - R - S [branch2] 
            /
A - B - F ------ G - H - I - J - K - O - P [master] 
    \  /    \ 
     C - D - E     L - M - N [branch1] 

あなたはgit fetch old branch1あなたが買ってあげると、背面A.にN、M、L、K、Jは、I、および他のすべてのすべての方法犯した場合Q、R、およびSを使用しています。リポジトリが奇妙な構造をしていない限り、最初のブランチをフェッチするのは非常に低コストです。 をキャッチ すべてをフェッチして全体のプロセスを簡単にすることもできます。

関連する問題