前言~

repo是一款安卓用于管理源码的工具,由python实现,基于git工具

本文介绍了repo的常用使用方式。

一,下载代码

1. repo init 初始化命令

此命令常用选项就那几个,此处取俩举例:

-u 后面跟清单文件仓库,manifests.git

--repo-url= 后面跟repo工具源码仓库 repo.git

repo init -u git@xxxxxxx:project/manifests.git --repo-url=git@xxxxxxxx:repo.git

运行此命令后,repo工具会根据manifest文件初始化配置,为后续同步(repo sync)做准备。

运行命令的路径下会新增.repo文件夹,里面存放了清单仓库,脚本文件等等~

.repo
├── manifests # 一个git库,包含default.xml文件,用于描述repo所管理的git库的信息
├── manifests.git # manifest这个git库的实体,manifest/.git目录下的所有文件都会链接到该目录
├── manifest.xml # manifests/default.xml的一个软链接
└── repo # 一个git库,包含repo运行的所有脚本

2.repo sync同步代码命令

当运行repo init后,就需要开始下载代码了,repo称之为同步。

第一次同步,相当于触发 git clone命令。

第二次同步,相当于触发git remote update && git rebase origin/<BRANCH>,就是当前与本地分支所关联的远程分支 代码合并可能会产生冲突,当冲突出现时,只需要解决完冲突,然后执行git rebase --continue即可。

该命令常用的可选参数:

-j :开启多线程同步,加快sync命令的执行速度。默认情况下,使用清单里指定的-j参数并发进行sync,如果没指定,则默认为4个。

*-c, –current-branch*:只同步指定的远程分支。默认情况下,sync会同步所有的远程分支,当远程分支比较多的时候,下载的代码量就大。使用该参数,可以缩减下载时间,节省本地磁盘空间

*-d, –detach*:脱离当前的本地分支,切换到manifest.xml中设定的分支。在实际操作中,这个参数很有用,当我们第一次sync完代码后,往往会切换到dev分支进行开发。如果不带该参数使用sync, 则会触发本地的dev分支与manifest设定的远程分支进行合并,这会很可能会导致sync失败

*-f, –force-broken*:当有git库sync失败了,不中断整个同步操作,继续同步其他的git库

整个同步时间以仓库体量有关,尽量利用多线程最大化速度~

运行完后,终端会显示sync成功完成,但此时仓库没有在任何一个分支上...

二,设置分支

1.新建分支

由于没有处在分支上,所以需要设置一个分支以进行后续操作

repo start branch-name --all

参数:

branch-name 为需要新建的分支名,master什么的

--all 为所有路径添加此分支

也可以指定项目路径创建分支,取消--all参数

2.运行repo branch可以查看当前分支~

3.同步一下

repo sync -j50

三,开始上传代码

我们假设已经修改了仓库代码

1.单独 上传

在各个仓库按照正常git仓库操作的方式进行操作

git status

git add

git commit -m "info....."

repo upload path_name

2.批量上传

这里会用到一个比较常用的命令:

repo forall -c "mycmd"

意思是在当前repo管理的所有仓库内,执行mycmd。

我们这里利用它批量上传:

repo forall -c "pwd && git add -A && git commit -m "上传信息" "

前面加一个pwd命令目的为查看当前执行的是哪个目录。

确认所有本地都提交了后~

运行repo upload 统一上传到仓库~

这里介绍的比较浅显,如不能满足需求请深入学习~

版权声明

码字不易,转载请注明原作者 ~ (from:https://erdong.work

使用repo上传代码的更多相关文章

  1. iOS如何上传代码到Github

    iOS如何上传代码到Github 很多iOS开发者想开源自己的代码或者demo,开源到Github是个不错的选择,那么如何上传我们的代码到Github,令所有人可以下载使用呢?这里我们的目的很明确,就 ...

  2. iOS上传代码到Github平台

    对于开发人员来说,很多时候想把自己好的代码 demo放到一个公共平台,与大家交流,Github就是一个不错的平台,下面给大家说说Github的具体使用方法. 第一步.申请Github账号.https: ...

  3. git的使用(包括创建远程仓库到上传代码到git的详细步骤以及git的一些常用命令)

    A创建远程仓库到上传代码到git 1)登陆或这注册git账号 https://github.com 2)创建远程仓库 3)打开终端输入命令 cd到你的本地项目根目录下,执行如下git命令 git in ...

  4. 【Azure 应用服务】App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot。 这个是因为什么?

    问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过 ...

  5. 【iOS 使用github上传代码】详解

    [iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...

  6. 使用webstom或者idea上传代码到github或coding

    鉴于github网络速度太慢,建议用coding.先介绍github上传方式,因为webstom或idea集成了github,方法简单. git是一个版本控制器,他的作用是管理代码.比如你修改了代码, ...

  7. linux 下向github上传代码

    上传代码: cd TPS/devices/M8 git init                      #//初始化 git add .                    #如果是.表示上传全 ...

  8. Upload java coed in Ubuntu(在Linux 16上,上传代码)

    指令如下:(按照如下指令顺序执行即可) 1.git status  (注释:可以查看哪些代码改动了) 2.git add .     (注意:不要漏掉add后面的" . ",将本地 ...

  9. windows上传代码到github

    上传代码到github上有很多种方法,在这里我介绍一种比较简单的一种.工具嘛,越简单越好用啊. 1.首先下载github在windows下的客户端 下载地址:https://desktop.githu ...

  10. git入门学习(二):新建分支/上传代码/删除分支

    一.git新建分支,上传代码到新的不同分支  我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有we ...

随机推荐

  1. IDEA 修改注释的颜色

  2. OpenFOAM编程 | Hello OpenFOAM

    写在前面 OpenFOAM 是一个非常好用的开源程序包,笔者一直在研究和使用,其编程语言是笔者非常喜欢使用的 C++.但是笔者不是很喜欢 OpenFOAM 自己的构建工具 wmake,更倾向于使用 C ...

  3. kratos v2版本命令行工具使用

    使用 下载 go install github.com/go-kratos/kratos/cmd/kratos/v2@latest 查看是否安装成功 kratos -v kratos version ...

  4. 解决inode满

    登陆服务器运行df -i 然后运行 for i in /*; do echo $i; find $i |wc -l|sort -nr; done 看看每个文件夹下面的数量 最后发现是/var/spoo ...

  5. 《MySQL自传》

    撰写本文查阅了大量参考资料,也得到很多朋友的指点帮助,特别感谢: Jimmy Yang--阿里云数据库研究员,原Oracle InnoDB Architect. 彭立勋--华为云数据库总工程师,MyS ...

  6. Jupyter Notebook单元格加宽的方法3种

    Jupyter Notebook的代码单元格比较窄,在我的屏幕上只占了一半都不到,网络搜索下,共找到3种加宽的方法,总结一下. (一)只改变当前Jupyter笔记本的单元格宽度 在Jupyter No ...

  7. 代码随想录第四天| 24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、160.链表相交、142.环形链表II

    今天链表致死量 第一题 public static class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { ...

  8. 微信小程序js-时间转换函数使用

    最近在做云开发博客小程序 采集微信发布的信息放入数据库会有createTime因此发现了不一样的地方 云函数可以直接使用 但是放到引导全局的app.js文件却是找不到该方法-->dateform ...

  9. resutful的使用和增强版的swagger2

    1.REST的特征 统一接口:客户和服务器之间通信的方法必须统一,RESUTFUL风格的数据元操作CRUD分别对应HTTP方法----GET用来获取数据源,POST用来新建资源,PUT用来更新资源,, ...

  10. 1.-Django项目结构

    一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,视图V和模版T.   Django基本组件: 1.基本配置文件/路由系统 2. ...