如何将其他仓库(含私有复刻库)的完整Git提交历史迁移至新仓库?
GitHub私有仓库提交历史完整迁移方案
完全可行,只要你当前能正常克隆该私有公司仓库(拥有读取权限),就能完整迁移所有代码和提交历史,具体操作步骤如下:
克隆原仓库的完整镜像(包含所有分支、标签和提交历史)
git clone --mirror git@github.com:原公司仓库地址.git
用--mirror参数克隆是关键,它会复制仓库的全部Git数据,比普通clone更彻底。进入克隆后的镜像仓库目录
cd 原公司仓库地址.git添加新仓库的远程地址
git remote add new-origin git@github.com:你的新仓库地址.git推送所有内容到新仓库
git push --mirror new-origin
这个命令会把原仓库的所有分支、标签、提交记录完全同步到新仓库,不会丢失任何历史。
需要注意的几个点:
- 权限前提:必须确保你对原私有仓库仍有读取权限,如果权限已被公司收回,就无法获取完整历史了。
- 合规风险:迁移公司私有项目的代码和提交历史,一定要先确认是否符合公司的知识产权规定,避免违规。
- 新仓库准备:新仓库可以是完全空白的,不需要提前初始化,推送时会自动创建所需的分支和结构。
内容的提问来源于stack exchange,提问作者iamtheasad
相关产品推荐
相关产品推荐

