背景
之前一直使用gitee代码仓库提交代码,现在需要将gitee仓库中的代码迁移到gitlab中,并保留原有的提交记录。
前提
配置好了本地git,并本地与gitlab仓库已连接。
我这里使用 ssh方式拉去代码,因此需要配置ssh密钥
步骤
也可以直接使用gitee仓库中url地址直接导入整个仓库到gitlab中,
例如:http://gitee.com:xiaoming/test.git
1、将gitee上的仓库代码 git clone至本地
git clone git@gitee.com:xiaoming/test.git
2、在gitlab 上创建空项目,并复制克隆地址
git@gitlab.com:xiaoming/project-test.git
注意:需要配置好gitlab与本地关联的ssh密钥
3、 cd至项目内部,查看git remote是否是origin
git branch -r
# origin/HEAD -> origin/main
# origin/main
4、是origin则直接修改origin的url,url为刚才复制的新建项目的url
这里也可以手动替换 url地址,具体位置:在项目 test\.git\config 文件中
命令方式替换:
在test项目目录下执行下方命令
git remote set-url origin git@gitlab.com:xiaoming/project-test.git
5、查看test项目是否已修改为新项目地址的url
在test项目目录下使用此命令查看:
cat .git\config
效果如下:
文件位置:test\.git\config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
# url = git@gitee.com:xiaoming/test.git # 修改前的url
url = git@gitlab.com:xiaoming/project-test.git # 修改后的url
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
[user]
name = xiaominga # 用户名
email = xiaoming@qq.com # 邮箱
6、推送代码至新仓库
git push origin master
默认也可以使用git push
mater表示是master分支名的代码提交到project-test仓库
附件
参考:git 配置ssh秘钥教程
https://blog.csdn.net/weixin_44549646/article/details/127494340