git仓库迁移方案

要求:所有远程分支和提交记录都要迁移

情况1: 单人项目

步骤:

1、git clone --bare 原仓库 (从原地址克隆一份裸版本库)

2、git push --mirror 新仓库 (然后已镜像的方式迁移到新的git仓库中)

情况2:多人协作项目

步骤:

1、git clone --bare 原仓库  .git (从原地址单独克隆一份裸版本库的.git文件)

2、git config --unset core.bare (解除core.bare模式)

3、git reset --hard (恢复所有文件,拉取所有远程分支到本地)

4、脚本修改账户邮箱和提交邮箱

# !/bin/sh

git filter-branch --env-filter '

CORRECT_EMAIL="[email protected]"

export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"

export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"

' --tag-name-filter cat -- --branches --tags

5、更改origin的url为新仓库地址 

可以直接更改.git目录下的CONFIG文件的origin字段值,或者

git remote rename origin old_origin (更改原origin名字)

git remote add origin 新仓库地址  (设置新origin地址)

6、 git push -u -f --all

       git push -u -f --tags

ps:如果含有lfs文件,先git lfs fetch --all 拉一下原仓库

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信