git代码迁移仓库

代码只有一个分支的情况

代码只有一个分支,这样就简单了,不用考虑其他分支的迁移

  1. 直接将原仓库代码clone到本地
git clone https://gitee.com/mygit-demo/test.git
  1. 然后删除.git隐藏文件

  2. 在像新初始化代码一样推送到新的git仓库中。

    # 完成全局配置
    git config --global user.name "XXXX"
    git config --global user.email "XXXX@XXXX.com"
    
    # 初始化
    git init
    
    # 提交到缓存区
    git add .
    
    # 提交到本地仓库
    git commit -m "自定义注释"
    
    # 设置远程仓库地址
    git remote add origin  新仓库地址
    
    # 提交到新的仓库地址
    git push -u origin master
    
    # 如果遇见冲突可以使用以下语句后,再执行提交到新的仓库的命令
    git pull origin master --allow-unrelated-histories # 拉取远程代码进行强合并
    

需要迁移多分支的情况

这种方式可以保留原版本库中的所有内容

这是原git仓库代码及分支情况

img

  1. 从原地址克隆一份裸版本库

    git clone --bare https://gitee.com/mygit-demo/test.git
    
    # bare 创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。
    
  2. 然后以镜像的方式迁移到新的git仓库中

    cd test.git/
    git push --mirror https://gitee.com/mygit-demo/git-demo.git
    

    --mirror 克隆出来的裸版本对上游版本库进行了注册,这样可以在裸版本库中使用git fetch命令和上游版本库进行持续同步。

    最后去新的git仓库中就可以看见所有分支的代码信息了。

  3. 查看新仓库代码分支信息

    img