我是靠谱客的博主 欢喜哈密瓜,最近开发中收集的这篇文章主要介绍Git仓库代码迁移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 操作了
  git add .
  git commit -m "first commit(这里就是你提交时候的说明,爱写啥你懂就行)"
  1. 正式将本地仓库区的代码提交到远程分支,同时本地分支与远程分支建立连接
  • 反正就是直接将本地仓库上传到了远程仓库了,就这么干就完事了
  git push --set-upstream origin xxxx(名字:取个和刚刚修改的分支名一样的名字就行)
  1. 可以将远程分支的代码拉过来一下,但是好像有点问题,就是没有建立链接还是啥的
  • 无伤大雅,反正代码都迁移了,问题不大,有需要的时候再去绑定还是啥的吧…
  git pull

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

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

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

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

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

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

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

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

最后

以上就是欢喜哈密瓜为你收集整理的Git仓库代码迁移Git仓库代码迁移的全部内容,希望文章能够帮你解决Git仓库代码迁移Git仓库代码迁移所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部