repo

Repo是一个用Python语言开发的命令工作 ,可以更文件地进行多版本库的管理。

Repo是对Git进行了一定的封装,简化了对多个Git版本库的管理。对于repo管理的任何一个版本库,都需要使用Git命令进行操作

Repo的使用过程大致如下:
运行repo init命令,克隆Android的一个清单库。这个清单库是通过XML技术建立的版本库清单。
打开 .repo 文件夹中的 清单文件查看清单库中的manifest.xml文件,列出了多个版本库的克隆方式。包括版本库的地址和工作区地址的对应关系,以及分支的对应关系。

1. repo init -u

新建一个文件夹, cd 到该目录
在工作目录中执行repo init -u ,完成repo完整的下载及项目清单版本库(manifest.git)的下载。

repo init -u url -b branchname  

这个初始化命令主要干了两件事:

(1)在当前目录里面下载安装 repo:因为最初你从网上下载的那个 repo 文件并不是一个完整的 repo,它主要负责初始化工作,并且在初始化完成以后将命令移交给完整的 repo 来执行。

(2)根据命令中指定的地址(-u url)去下载项目的管理文件 manifest.xml。我们前面说过这个 manifest.xml 是用 git 管理起来的,
在这里 -b branchname 就是指的 manifest.xml 的相应 -m 参数是加载相应的xml信息,正常拉代码或切xml数据会用到

2.repo sync命令

克隆android的清单库manifest.git(地址来自于-u参数)。

repo sync子命令用于参照清单文件克隆可同步版本库。如果某个项目版本库尚不存在,则执行repo sync命令相当于执行git clone。如果项目版本库已经存在,则相当于执行下面的两个命令:
git remote update:相当于对每一个remote源执行fetch操作。
git rebase origin/branch:针对当前分支的跟踪分支执行rebase操作。

repo syn
同步所有的项目,作为一个开发人员,通常只需要改某个项目,所以常用的是下面的命令。

repo sync -c (常用)
同步某个分支的代码,一套代码仓库可能包括N个分支,这种方式只同步其中想要的那个分支,节约时间

repo sync  -l
checkout 出本地repo数据代码,不走网络服务器

repo sync – help

3.repo start命令 创建本地的分支
repo start子命令实际上是对git checkout -b命令的封装。为指定的项目或所有项目(若使用-all参数),以清单文件中为项目认定的分支或里程碑为基础,创建特性分支。特性分支的名称由命令的第一个参数指定。

repo start <newbranchname> [--all | <project>…]
repo start branchname --all

4.repo status命令 —查看所有仓库的状态
repo status子命令实际上是对git diff-index、git diff-files命令的封装,同时显示暂存区的状态和本地文件修改的状态。
repo status [ project…]

5.repo checkout命令
repo checkout子命令实际上是对git checkout命令的封装。检出之前由repo start创建的分支。
repo checkout branchname [project…]

6.repo branches命令 —查看所有仓库的分支命令
repo branches读取各个项目的分支列表并汇总显示。
repo branches […]

7.repo upload命令 (重要)
注意:如果分支不是repo start 命令建的, repo upload 命令将不会提交
repo upload相当于git push,但是又有很大的不同。执行repo upload不是将版本库改动推送到克隆时的远程服务器,而是推送到代码审查服务器(Gerrit)的特殊引用上。
代码审核服务器会对推送的提交进行特处理,将新的提交显示为一个待审核的修改集,并进入代码审查流程。只有当审核通过后,才会合并到正式的版本库中。
用法如下:

repo upload .   这是不带审核者的上传方式,记住后面是 空格  + "." (可以到Gerrit服务器上添加)

repo upload --re=XXXXX .   添加审核者 (可以到Gerrit服务器上添加)

repo upload [--re --cc] [<project>]...

参数:
-h, --help  显示帮助信息。
-t      发送本地分支名称到Gerrit代码审核服务器。
--re=REVIEWERS, --reviewers=REVIEWERS
                要求由指定的人员进行审核。
-cc=CC          同时发送通知到如下邮件地址。

8. 在 7后,如果发现需要修订,可使用 git commit –amend (重要)
如果发现上传后的代码有问题想重新修改,可以在本地继续修改代码,
用git add把修改内容加到暂存区,用git commit –amend修改上一次提交,再用repo upload重新上传修订集。这样上传后不会产生新的提交,而是会在原有的提交中新加一个修订集。用法

git add
git commit --amend

9.repo download命令
repo download命令主要用于代码审核者下载和评估提交的修订。使用repo download命令实际上就是用git fetch获取到对应项目的refs/changes//patchset>引用,并自动切换到对应的引用上。
repo download {project change [/patchset]}…
repo prune命令
repo prune子命令实际上是对git branch -d命令封装,该命令用于扫描项目的各个分支,并删除已经合并的分支。
repo prune […]
repo 遍历整个项目
— liangjiong.zhou 2013/12/31 03:12

10.repo forall 可以用来遍历所有git仓库。(重要)
repo forall -c git cmd —对所有git库执行“git cmd”操作

repo forall -c command
例:
$ repo forall -c git status      #等同 repo status
$ repo forall -c git clean -df  #清除整个repo
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
repo project 是指存储库项目,它是一种管理软件开发过程中代码存储和版本控制的工具。它使用版本控制系统(如Git)来跟踪和记录代码的变化,并将代码存储在一个中央位置,供团队成员随时查看和访问。repo project 可以帮助团队成员协同工作,共享代码,并保证每个人都使用相同版本的代码。 repo project 的主要功能包括代码分支管理、合并和冲突解决。它允许开发人员创建不同的分支,在每个分支上进行独立的开发工作,然后将更改合并到主分支中。如果多人同时修改同一个文件,可能会出现冲突,repo project 提供了解决冲突的机制,使团队能够协调一致地修改代码。 repo project 还提供了版本控制的历史记录和回滚功能。每次更改都会记录下来,开发人员可以随时查看先前的版本,并在需要时回滚到之前的版本。这有助于追踪和管理代码的演进,以及在出现问题时进行回退。 此外,repo project 还可以与其他工具集成,例如持续集成工具、项目管理工具和代码审查工具。这些集成可以进一步优化开发过程,提高团队的工作效率和代码质量。 综上所述,repo project 是一个强大的代码存储和版本控制工具,它可以帮助团队协同开发、追踪代码变化并保证代码的一致性和质量。在现代软件开发中,repo project 已成为必备的工具之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空白的泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值