平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Github库镜像到本地私有Gitlab服务器实现方法过程”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
结合项目来看,上一节我们看了如何架设自己的Gitlab服务器,今天我们看怎么把Github库转移到自己的Gitlab上。
首先登录github,进入自己的库复制地址。
克隆镜像库
在本地新建一个文件夹
在文件夹执行CMD指令
git clone --mirror [email protected]:thinbug/A.git
—mirror参数就是拉取镜像库。
拉取结束,进入目录:
cd A.git

我们能够看到这个库是这样的。
添加远程库
借助git remote add 指令
假设原来的名字是A,没命名好,还能够改个名字如ProjectB
git remote add gitlab ssh://[email protected]:3022/Thinbug/ProjectB.git
这个gitlab是一个别名,表示了我的服务器地址,能够自定义。
我们能够输入一个指令一看就明白了。
git remote -v
F:Temp新建文件夹 (5)KCPBigSpace.git>git remote -v
gitlab ssh://[email protected]:3022/Thinbug/ProjectB.git (fetch)
gitlab ssh://[email protected]:3022/Thinbug/ProjectB.git (push)
origin [email protected]:thinbug/A.git (fetch)
origin [email protected]:thinbug/A.git (push)
- origin表示github的地址
- gitlab就是我的服务器
推送到我的私人Gitlab上
从实现思路看,登录你的Gitlab,新建项目,名字需是ProjectB,同时且不能采用readme初始化项目,需是空的。
git push --mirror gitlab
看到成功的提示就表示成功了。
LFS 对象:如果原仓库用了 Git LFS,需额外迁移:
这个没有采用到还未测试。
git lfs fetch --all
git lfs push --all gitlab
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。
- 在Ubuntu上打不开GitHub的完整解决方法
- GitHub仓库权限更改方式
- 解决GitHub SSH连接超时问题及分析
- 在GitHub上修改他人分支的操作步骤
- GitHub自动打包Android APK的全流程
- Ubuntu系统SSH免密连接Github设置全过程