项目中偶尔会遇到需要将一个仓库整体的迁移到另一个新的远程仓库,不仅把所有的代码迁移到新仓库,而且保留所有的提交记录,分支,tag等。
具体步骤如下:
-
从原仓库克隆一份裸版本库
git clone --bare https://github.com/username/old-repository.git
- 会在当前目录下产生一个 old-repository.git 文件夹
-
创建新仓库(比如创建新的Github仓库:new-repository)
-
push裸版本库镜像到远程存储库
cd old-repository.git git push --mirror https://github.com/exampleuser/new-repository.git
-
删除裸 Git 版本库(可选)
- 删除 old-repository.git 文件夹
-
Git 仓库迁移成功,新的仓库地址就可以正常使用了
git clone https://github.com/exampleuser/new-repository.git