0


Git仓库代码迁移

Git仓库代码迁移

前言

**本文建立在已有

git

仓库地址存在的情况下,将当前

gitLab

仓库的代码迁移到另一个

gitLab

仓库中**

或有其他更加简洁的方案,由于时间仓促,并未过多研究,还望大佬指点!!!

以下操作如有不当,望指正!!!

步骤

  1. 新建一个文件夹,将当前需要迁移的 gitLab 仓库中的代码拉取到本地
  • 这么做的目的是,为了防止出错,防止操作不当,将代码误删
  • 当然了仓库里目前还有代码,其实也无所谓,但有备无患,万一那边仓库的代码被干了,就G了
git clone https://xxxxxxxxxxxx.git
  1. 切换到你当前拥有的完整功能的代码分支
  • 由于需求不同,可以根据当前需求进行操作(这里我只需要保留我一份完整代码即可,所以只做了这一步,如有需要还请自行查阅【望大佬评论区告知高操作】)
git checkout xxxx(分支名)
  1. 将文件夹中的 .git 文件删除
  • 注意这里的 .git 文件是你当前仓库的所有信息,当删除之后,将同时删除你的所有 git 记录和相关操作(这里说的可能不太明确,我也不知道咋解释,反正就是删了就没有 git 了!)
  • 由于 ‘.’ 开头的文件是隐藏文件,需要在文件窗口进行设置————查看=>隐藏的项目(win10操作系统在最上方有四个操作栏按钮(文件、主页、共享、查看),隐藏的项目勾选项在靠右边,仔细找一下,不知道的自行百度一下“win10查看隐藏文件”)
  1. 初始化 git
  • 就是重新弄一个你的全新的 .git 文件,里面需要重新设置一些东西,下面详细说明
git init
  1. 将你的信息写一下,就是 git 提交的信息(初始你的信息)
git config --global user.email xxxxx(邮箱信息)git config --global user.name xxxxx(用于显示的名字)
  • 查看一下当前添加的信息是否成功
git config --list
  • 执行完后,如果有以下两行就表示成功了
    ...
    
    user.email=xxxxxxx(你刚刚输入的邮箱信息)
    user.name=xxxx(你刚刚输入的用于显示的名字)
    
    ...    
  1. 绑定准备上传代码的远程仓库(你即将迁移到的仓库)
  • 这里就是将你当前的代码和新的 gitLab(git仓库【gitee、gitHub】) 绑定
  • 注意 http://xxxxxxxxxxxx 是你的新的仓库地址,更重要的是注意一定要加上后面的 .git 后缀,不然会报错
git remote add origin http://xxxxxxxxxxxx.git
  • 可以查看一下当前绑定的地址,看看有没有绑错
git remote -v

这里往下在网上有其他的操作方法,但是我目前没有使用其他方法,因为可以实现

当然了我这么干后面肯定会有些问题暴露,但是暂时这么干没毛病,后面再解决嘛(因为也不是什么大问题)

  1. 修改当前分支的名字
  • 由于之前将 .git 文件删除过所以,无论之前是什么名字,现在只有一个叫 master 的分支
  • 当然还有说是需要新建一个分支,可以合并一下 master 分支,再进行上传,但我没有这样操作,如有需要,请自行选择
git branch -m 旧分支名(master) 新分支名(这个就随便了,像什么 dev、prod、bug、xxx)
  1. 接下来就是提交代码到暂存区和并进行 commit 操作了
gitadd.git commit -m"first commit(这里就是你提交时候的说明,爱写啥你懂就行)"
  1. 正式将本地仓库区的代码提交到远程分支,同时本地分支与远程分支建立连接
  • 反正就是直接将本地仓库上传到了远程仓库了,就这么干就完事了
git push --set-upstream origin xxxx(名字:取个和刚刚修改的分支名一样的名字就行)
  1. 可以将远程分支的代码拉过来一下,但是好像有点问题,就是没有建立链接还是啥的
  • 无伤大雅,反正代码都迁移了,问题不大,有需要的时候再去绑定还是啥的吧…
git pull

至此就完结啦,反正上面可能有些操作不合理,如果有更好的办法,就按照自己的办法来就行

补充(发现有更简单的办法,,,,)适用于远程主分支没有合并权限的情况

  1. 通过clone命令将需要迁移的仓库镜像下载到本地
git clone --mirror 仓库地址
  1. 将仓库中的旧的远端地址更改为新仓库地址
git remote set-url --push origin 新代码仓库地址
  1. 将修改后的Git镜像仓库推送到新的仓库
git push --mirror

至此,旧仓库已经完整推送到了新的代码仓库,commit记录和代码分支完整

这个是我摘抄的,略作修改了。原文地址是:原文地址

以上解决远程主分支有合并权限的情况(只上传当前所在分支的)

如果远程分支有权限,按照如下方式可进行迁移当前所在分支的全部记录

  1. 通过clone命令将需要迁移的仓库镜像下载到本地
git clone --mirror 仓库地址
  1. 将仓库中的旧的远端地址更改为新仓库地址
git remote set-url --push origin 新代码仓库地址
  1. 正式将本地仓库区的代码提交到远程分支,同时本地分支与远程分支建立连接
  • 反正就是直接将本地仓库上传到了远程仓库了,就这么干就完事了
  • 例如: git push --set-upstream origin master
git push --set-upstream origin xxxx(名字:取个和刚刚修改的分支名一样的名字就行)
标签: git github

本文转载自: https://blog.csdn.net/qq_44904411/article/details/128849623
版权归原作者 Jinyu_Lin 所有, 如有侵权,请联系我们删除。

“Git仓库代码迁移”的评论:

还没有评论