一. why
项目需要用到github第三方库, 但是直接依赖github是有问题, 第一有墙容易失败, 第二github不可控(某天中美打架人家删库)等, 所以需要在gitlab映射一份github的库.
二. 方案选择
2.1 拷贝
先本地git clone github, 然后将特定分支(tag)代码拷贝出来, 推送到gitlab
优: 简单
劣: 丢失github本身的信息
2.2 同步
先本地git clone github, 然后添加gitlab的源, 并将github信息推送到gitlab
优: 保持和github同步
劣: 保留所有信息, 库会大一点(冗余)
综合来讲: 还是第二种方案更好点
三. 实践
- clone 源码
git clone https://github.com/**.git - 查看源
git remote -v
git remote -v
origin https://github.com/google/double-conversion.git (fetch)
origin https://github.com/google/double-conversion.git (push)
- 修改名称
git remote rename origin github - 再次查看, 发现源从origin换成了github
git remote -v
github https://github.com/boostorg/boost.git (fetch)
github https://github.com/boostorg/boost.git (push)
- 添加gitlab源
git remote add origin http://gitlab.**.git - 再次查看
git remote -v
github https://github.com/boostorg/boost.git (fetch)
github https://github.com/boostorg/boost.git (push)
origin http://gitlab.**.git (fetch)
origin http://gitlab.**.git (push)
- 推送到gitlab
git push origin master - 同步tag
git push origin --tags - done
去gitlab查看信息, 和github一致, 分支和tag都相同.









网友评论