git之repo的使用
git之repo的使用
repo
参考:git基础教程(41)repo仓库管理工具介绍_面向工作git基础教程-CSDN专栏git基础教程(41)repo仓库管理工具介绍_面向工作git基础教程-CSDN专栏
repo 命令:
repo init
repo init -u <URL> [<OPTIONS>]
-u : 指定manifests远程git地址的URL
-m:指定manifests库中的清单文件
-b:指定manifest.xml文件中的一个版本,,也就是俗称的“分支”
repo sync
repo sync [PROJECT_LIST]
拉取远程代码,并同步更新本地代码:
常用参数:
-j:开启多线程同步操作,加快速度
-c: 只是同步指定的远程分支
-d: 脱离当前的本地分支
…
1. repo sync -f
这种机制确保了 repo sync 在网络不稳定的情况下能够高效地完成同步,无需担心重复下载已完成的内容。
-
在使用
repo sync时,默认情况下工具会输出一些同步进度信息,但不够详细。若要更清晰地查看下载进度,可以通过以下方法: -
利用
repo sync自带的 verbose 模式**加上-v(verbose)参数可以显示更详细的同步过程,包括每个仓库的克隆 / 更新进度:
repo sync -v
- 若需要更详细的输出(如 Git 操作的具体细节),可以使用
-vv或-vvv增加详细程度:
repo sync -vv
- 查看已下载的文件大小可以在另一个终端中,通过
du命令查看当前同步目录的总大小变化,间接了解进度:
# 实时监控目录大小变化(按Ctrl+C退出)
watch -n 5 du -sh <同步目录路径>
其中 <同步目录路径> 替换为你执行 repo sync 的根目录(通常是你初始化 repo 的目录)。
- 检查单个仓库的同步状态
repo sync会同步多个 Git 仓库,你可以进入具体的仓库目录,用 Git 命令查看单个仓库的同步进度:
bash
# 进入某个仓库目录
cd <同步目录>/<仓库名>
# 查看当前Git操作状态
git status
这些方法结合使用,可以比较全面地了解
repo sync的下载和同步进度。其中,-v参数是最直接的方式,能看到每个仓库的克隆进度、已完成百分比等信息。
repo upload
repo upload [PROJECT_LIST]
把本地文件上传到远程仓库。
upload命令首先会找出本地分支从上一次同步操作以来发生的改动,然后会将这些改动生成Patch文件,上传至Gerrit服务器。 如果没有指定PROJECT_LIST,那么upload会找出所有git库的改动;如果某个git库有多个分支,upload会提供一个交互界面,提示选择其中若干个分支进行上传操作。
repo start
repo start <BRANCH_NAME> [<PROJECT_LIST>]
在指定的PROJECT切换到指定的分支,“-all ” 参数可以对所有的项目执行切换。当第一次sync完代码后,可以通过start命令将git库切换到开发分支,避免在匿名分支上工作导致丢失改动内容的情况。
repo download
repo download <TARGET> <CHANGE>
从Geriit下载改动,对应upload
- TARGET:指定要下载的PROJECT,譬如platform/frameworks/base, platform/packages/apps/Mms
- CHANGE:指定要下载的改动内容。这个值不是Commit-ID,也不是Change-ID,而是一个Review任务URL的最后几位数字。 譬如,AOSP的一个Review任务https://android-review.googlesource.com/#/c/23823/,其中23823就是。
repo purne
repo prune [<PROJECT_LIST>]
删除指定项目中已经合并的分支。(合并后的分支属于无用分支)
repo forall
repo forall [PROJECT_LIST] -c <COMMAND>
对指定的git库执行**-c**参数制定的命令序列。
repo forall frameworks/base packages/apps/Mms -c “git status”
repo status
repo status [<PROJECT_LIST>]
查看多个或单个git库的状态
Android推荐的开发流程是:
- repo init初始化工程,指定待下载的分支
- repo sync下载代码
- repo start将本地git库切换到开发分支(TOPIC BRANCH)
- 在本地进行修改,验证后,提交到本地
- repo upload上传到服务器,等待review
更多推荐
所有评论(0)