我想将一个包含所有历史和分支的回购转移到一个新的回购。我已经能够找到使用单个分支作为新 repo 基础的方法(git 工作流 - 使用一个 repo 作为另一个 repo 的基础),但我不知道如何保留所有分支(和他们的历史,理想情况下)。有没有办法做到这一点?或者可能是一个聪明的解决方法,所以我不会失去我在非主分支上的工作?
问问题
104 次
2 回答
0
使用 --mirror 标志克隆你的 repo 的新副本:
$ 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。
于 2013-05-07T22:13:27.660 回答
0
你可以简单地在 Github 上 fork 存储库,它会制作一个完整的副本,并将副本链接到原始版本,以便为其生成拉取请求。
于 2013-05-07T18:20:52.927 回答