Github - 使用一个回购作为另一个回购的基础,保留分支和历史

时间:2013-05-07 18:19:15

标签: git github git-clone

我想把一个拥有所有历史和分支的回购转移到一个新的回购。我已经能够找到使用单个分支作为新repo(git workflow - using one repo as the basis for another)的基础的方法,但我无法弄清楚我是如何保留所有分支(以及它们的历史,理想情况下)。有没有办法做到这一点?或者可能是一个聪明的解决方法,所以我不会失去我在非主分支机构的工作?

2 个答案:

答案 0 :(得分:0)

您可以简单地将存储库分叉到Github上,该存储库将对其进行完整复制,并将副本链接到原始文件,以便为其生成拉取请求。

答案 1 :(得分:0)

使用--mirror标志克隆您的仓库的新副本:

$ git clone --mirror git://example.com/some-big-repo.git

这是一个裸仓库,这意味着您的普通文件将不可见,但它是您的存储库的Git数据库的完整副本,包括所有分支。克隆后,将原点设置为新的仓库,然后按:

$ git remote set-url origin git://new.com/some-big-repo.git
$ git push

所有分支都将被转移,这种方法适用于任何Git主机,而不仅仅是GitHub。