我想只将“旧存储库”中的主分支镜像到分支“X”中 “新的存储库”。我该怎么做呢? [要清楚我不想反映整个回购或其他分支]
一旦我反映了这一点,在某些时候我会想要“X”并将所有新的变化合并到“新存储库”的“主”中。我知道我可以做拉动请求,但我如何通过终端做到这一点?
感谢所有帮助。
答案 0 :(得分:1)
您可以将旧存储库添加为git remote add <name> <url>
的远程存储库,然后使用git fetch <name> <branch> ...
获取一个或多个分支。然后,您可以像任何其他远程分支一样使用它,并使用git merge <name>/<branch>
正常合并您的分支。
我建议反对它,除非在某些情况下,例如一个包含大量文件的大型分支(使用git-lfs
会受益)。这是你不需要的额外复杂性。
由于Git的工作原理,大多数分支机构将共享大部分存储库。获取一个开放分支后,获取其他分支的成本很低。例如......
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
你将会提交N,M,L,K,J,I和其他所有内容,一直回到A.如果你然后git fetch old branch2
它只会获取Q ,R和S.因此,除非您的存储库结构奇怪,否则在第一个存储库之后以非常低的成本获取分支。不妨 catch 获取所有内容并使整个过程更简单。