平台

Ubuntu 18.04
GitLab Community Edition 11.11.0
 

参考

 

概述

    gitlab提供了一个可以运行在本地的免费的代码托管平台,就像一个本地的github,可以将自己的平时写的或者一些经典的开源程序下载下来,然后mirror到本地gitlab进行托管,比如Android。我们知道Android工程是有几百个大大小小的git工程组成,为了管理这些git工程,Android提供了repo。关于repo的用法,请参考:
 
 
 
    那么如何将Android的代码仓库mirror到本地的gitlab上呢? 下面以一个Android代码仓库中的一个git工程说明一下,清楚了一个怎么搞,其他的也不在话下,可以用脚本批量处理。
 

正文

一、搭建gitlab服务

 
 
 

二、下载Android代码

参考:
 
 
为了方便以后下载,先按照官网的推荐,建立的一个Android代码仓库的本地mirror,下载完成后,内容如下:
 
 
然后利用这个mirror,本地clone出一份Android代码,比如:
 
 
对应的manifest.xml文件如下(当然也可以只clone一份aosp_mirror/platform/manifest.git,然后切到tags为android-7.1.2_r36的分支):
 
 

三、上传到gitlab

1、首先需要往本地gitlab上传一个repo工程
 
在上面下载的aosp_mirror目录下有一个git-repo.git工程,这里需要将其上传到gitlab上,首先在gitlab上创建一个空的git-repo工程:
 
 
2、上传git-repo.git
 
进入git-repo.git目录下,执行如下命令:
 
 
 
执行完毕后,可以看到gitlab里的git-repo里已经有东西了:
 
 
 
3、上传一个git工程
 
 
以上面的manifest.xml中的build/soong为例,熟悉manifest.xml语法的话应该清楚,path表示将来会在本地创建build/soong目录,而name表示的是远程服务器中的路径。
 
为了简单起见,首先在gitlab上创建一个名为build_soong的空的git工程:
 
 
然后在aosp_mirror的platform下找到soong.git工程,进行上传:
 
 
此时gitlab上的build_soong工程里已经有内容了:
 
 
 
4、创建一个manifest工程,用于存放manifest.xml文件
 
 
 

四、下载测试

 
repo init:
 
 
 
repo sync:
 
 
查看:
 
 
 
完。
 
 
 
 

最新文章

  1. C# DateTime 格式化 奇怪问题!
  2. AngularJS in Action读书笔记6(实战篇)——bug hunting
  3. display:-webkit-box
  4. JS对json对象的调用成员2种方式
  5. minimum-number-of-arrows-to-burst-balloons(还挺好)
  6. ios 页面传值4种方式(四) 之通过delegate(代理)
  7. CSS之拖拽1
  8. ssh注解开发
  9. Kinetis学习笔记(一)——基于KSDK 2.0
  10. 技嘉 gigabyte b75m d3v 主板 定时开机无效问题解决
  11. python3基础视频教程
  12. Redis实战(十)Redis常见问题及解决方案
  13. ElasticSearch6.5.0【Java客户端之TransportClient】
  14. centos下载
  15. 14-使用glusterfs做持久化存储
  16. You have new mail in /var/spool/mail/root
  17. day 36 关于io模型的问题 阻塞 和多路复用
  18. C++ STL 常用遍历算法
  19. C#异常小知识
  20. maven项目在eclipse启动报错:java.lang.ClassNotFoundException

热门文章

  1. quick如何打开工程或者示例
  2. mongodb连接认证失败
  3. 【K8S】helm chart多环境部署最佳实践-示例
  4. C#开源录音组件、录像组件、录屏组件及demo源码
  5. php Access-Control-Allow-Origin 解决跨域问题
  6. c# 枚举类型怎么用?
  7. git 命令行回退到某个指定的版本
  8. idea 添加默认注释
  9. BJFU-225-基于链表的两个递增有序序列的合并
  10. C# 手写将对象转换为Json方法