使用repo上传代码
前言~
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上传代码的更多相关文章
- iOS如何上传代码到Github
iOS如何上传代码到Github 很多iOS开发者想开源自己的代码或者demo,开源到Github是个不错的选择,那么如何上传我们的代码到Github,令所有人可以下载使用呢?这里我们的目的很明确,就 ...
- iOS上传代码到Github平台
对于开发人员来说,很多时候想把自己好的代码 demo放到一个公共平台,与大家交流,Github就是一个不错的平台,下面给大家说说Github的具体使用方法. 第一步.申请Github账号.https: ...
- git的使用(包括创建远程仓库到上传代码到git的详细步骤以及git的一些常用命令)
A创建远程仓库到上传代码到git 1)登陆或这注册git账号 https://github.com 2)创建远程仓库 3)打开终端输入命令 cd到你的本地项目根目录下,执行如下git命令 git in ...
- 【Azure 应用服务】App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot。 这个是因为什么?
问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过 ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
- 使用webstom或者idea上传代码到github或coding
鉴于github网络速度太慢,建议用coding.先介绍github上传方式,因为webstom或idea集成了github,方法简单. git是一个版本控制器,他的作用是管理代码.比如你修改了代码, ...
- linux 下向github上传代码
上传代码: cd TPS/devices/M8 git init #//初始化 git add . #如果是.表示上传全 ...
- Upload java coed in Ubuntu(在Linux 16上,上传代码)
指令如下:(按照如下指令顺序执行即可) 1.git status (注释:可以查看哪些代码改动了) 2.git add . (注意:不要漏掉add后面的" . ",将本地 ...
- windows上传代码到github
上传代码到github上有很多种方法,在这里我介绍一种比较简单的一种.工具嘛,越简单越好用啊. 1.首先下载github在windows下的客户端 下载地址:https://desktop.githu ...
- git入门学习(二):新建分支/上传代码/删除分支
一.git新建分支,上传代码到新的不同分支 我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有we ...
随机推荐
- 操作系统学习笔记10 | I/O、显示器与键盘
从这一部分开始介绍操作系统的设备驱动,操作系统通过文件系统的抽象驱动设备让用户能够使用显示器.键盘等交互工具.并讲解printf和scanf是如何实现敲下键盘将字符显示到屏幕上的. 参考资料: 课程: ...
- vivo 全球商城:电商平台通用取货码设计
vivo官网商城开发团队 - Zhou Longjian 一.背景 随着O2O线上线下业务的不断扩展,电商平台也在逐步完善交易侧相关的产品功能.在最近的需求版本中,业务方为进一步提升用户的使用体验,规 ...
- 在Winform开发中,我们使用的几种下拉列表展示字典数据的方式
在Winform开发中中,我们为了方便客户选择,往往使用系统的字典数据选择,毕竟选择总比输入来的快捷.统一,一般我们都会简单封装一下,以便方便对控件的字典值进行展示处理,本篇随笔介绍DevExpres ...
- 2.Python环境搭建
Python是一个跨平台.可移植的编程语言,因此可在windows.linux/unix和Mac os x系统中安装使用.安装完成后,你会得到Python解释器环境,一个命令行交互环境,一个简单的集成 ...
- Kubernetes Operator: Operator
Operator 就可以看成是 CRD 和 Controller 的一种组合特例,Operator 是一种思想,它结合了特定领域知识并通过 CRD 机制扩展了 Kubernetes API 资源,使用 ...
- Logstash:解析 JSON 文件并导入到 Elasticsearch 中
转载自:https://elasticstack.blog.csdn.net/article/details/114383426 在今天的文章中,我们将详述如何使用 Logstash 来解析 JSON ...
- rpm,docker,k8s三种方式安装部署GitLab服务
rpm方式 源地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ wget https://mirrors.tuna.tsinghua ...
- 洛谷P2865 [USACO06NOV]Roadblocks G(次短路)
一个次短路的问题,可以套用dijkstra求最短路的方法,用dis[0][i]表示最短路:dis[1][i]表示次短路,优先队列中存有最短路和次短路,然后每次找到一条道路对他进行判断,更新最短或次短路 ...
- HDU3507 print article (斜率优化DP)
状态表示:dp[i]表示打印前i个单词的最小成本:s[i]维护前缀和. 状态转移:dp[i]=min(dp[j]+(s[i]-s[j])2)+m , 0<=j<i. 换成y=kx+b的形式 ...
- 几个Caller-特性的妙用
System.Runtime.CompilerServices命名空间下有4个以"Caller"为前缀命名的Attribute,我们可以将它标注到方法参数上自动获取当前调用上下文的 ...