接锅不可怕,最怕没有Log。一份代码,有完整提交记录对项目维护是十分重要的。
如何将Git代码从原来的仓库迁移到新的托管站点,并且保留历史提交记录?
有两种方案:
方案一
修改远程仓库路径,并推送代码到新的托管点。
1、修改远程仓库的路径:1
2
3git remote set-url origin $remote_git_address
或添加新仓库:
git remote add $nie $remote_git_address
上面,$remote_git_address是新的托管服务器上新建的同名项目地址。nie就是远程仓库的别名了,跟origin一样意思。
2、推送:1
2git push origin --all
git push nie --all
会推送主干和所有分支。但是注意,这个命令不会推送标签。需要:1
git push --tags
方案二
将远程仓库检出镜像到本地,再推送到新的托管点。1
2
3git clone --mirror ssh://$original_git_server/$git_repo.git
cd $git_repo.git
git push --mirror ssh://$new_git_server/$git_repo.git
如果在迁移过程中,旧的代码仓库又有了新的提交(我们需要假设总会有”异常“),需要更新并推送:1
2git fetch
git push --mirror ssh://$new_git_server/$git_repo.git
Author: Jason
Permalink: http://blog.knpc21.com/tech/git-repo-migrate/
文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。
Comments