git入门(6.repo)

简介:

repo是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。

因为Android源码引用了很多开源项目,每一个子项目都是一个Git仓库,每个Git仓库都有很多分支版本,为了方便统一管理各个子项目的Git仓库,需要一个上层工具批量进行处理,因此repo诞生。

repo也会建立一个Git仓库,用来记录当前Android版本下各个子项目的Git仓库分别处于哪一个分支,这个仓库通常叫做:manifest仓库。

repo start <topic_name>

  开启一个新的主题,其实就是每个Project都新建一个分支。

repo init -u <url> [OPTIONS]

  在当前目录下初始化repo,会在当前目录生生成一个.repo目录,像Git Project下的.git一样,-u指定url,可以加参数-m指定manifest文件,默认是default.xml,.repo/manifests保存manifest文件。.repo/projects下有所有的project的数据信息,repo是一系列git project的集合,每个git project下的.git目录中的refs等目录都是链接到.repo/manifests下的。

repo manifest

  可以根据当前各Project的版本信息生成一个manifest文件

repo sync [PROJECT1...PROJECTN]

  同步Code。

repo status

  查看本地所有Project的修改,在每个修改的文件前有两个字符,第一个字符表示暂存区的状态。

  每二个字符表示工作区的状态 

  repo prune <topic> 

  删除已经merge的分支

repo abandon <topic>

  删除分支,无论是否merged

repo branch或repo branches

  查看所有分支

repo diff

  查看修改

repo upload

  上传本地提交至服务器

repo forall [PROJECT_LIST]-c COMMAND

  对指定的Project列表或所有Project执行命令COMMAND,加上-p参数可打印出Project的路径。

repo forall -c 'git reset --hard HEAD;git clean -df;git rebase --abort'

  这个命令可以撤销整个工程的本地修改。



      本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1881971,如需转载请自行联系原作者





相关文章
|
2月前
|
开发工具 git 索引
【git】入门
【git】入门
34 2
|
4月前
|
Shell Linux 开发工具
Git入门(windows系统)
Git入门(windows系统)
41 1
|
7月前
|
JSON 前端开发 JavaScript
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
526 0
|
6月前
|
存储 算法 开发工具
Git的入门详细教程
Git的入门详细教程
|
6月前
|
存储 Shell Linux
Git 入门使用
Git 入门使用
67 0
|
21天前
|
数据可视化 开发工具 git
Git代码版本管理入门
Git代码版本管理入门
|
2月前
|
程序员 开发工具 git
好程序员Git入门到精通教程
本课程主要通过命令行和idea来介绍Git的安装、仓库创建、工作流、远程仓库、克隆仓库、标签管理和分支管理等Git的主要内容。 另外关于GitHub的使用介绍也有完整的说明和使用,接轨生产环境使用方式。
11 1
好程序员Git入门到精通教程
|
6月前
|
存储 Shell 开发工具
【Git】Git安装入门使用&常用命令&Gitee远程仓库上传文件与下载
【Git】Git安装入门使用&常用命令&Gitee远程仓库上传文件与下载
90 0
|
2月前
|
存储 持续交付 开发工具
Git操作入门
Git是一个的开源分布式版本控制系统,它已经被广泛应用于软件开发、文档管理、代码托管等领域,成为当今最流行的版本控制系统之一。Git通过高效地管理文件的变化,使得团队协作更加高效,错误率更低。本文将介绍Git的工作原理、基本命令和常见用法等内容。
22 0
Git操作入门
|
3月前
|
缓存 Java 开发工具
[Git]入门及其常用命令
创作本篇文章的初衷,是为了方便大家回顾git常用命令和使用细节,而不用查阅大量资源寻找。同时记录了一些特殊需求,如:pull 部分代码、删除日志。 如果文中阐述不全或不对的,多多交流。
38 0
[Git]入门及其常用命令

相关实验场景

更多