基于repo和git的版本管理

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

http://blog.csdn.net/ocean2006/article/details/6422952

     涉及Android源代码的工作需要用到的Git和Repo工具。多数情况下我们可以用Git工具代替Repo,或者两者混用组合成更复杂的命令。而Repo工具可以使Android的网络操作更加简洁。
     Git是一个开源版本管理系统,旨在处理各种知识库发布的大型项目。一般来说,我们可以使用Git进行本地操作,比如本地分支化、提交、对比和编辑。Android项目中一个挑战是如何支持外部的群体(爱好者社区以及大型OEM厂商)。如果想让组件可替代、延长生命周期,我们必须选择一个发布式版本管理系统,所有我们选择Git工具。
     Repo是基于Git工具的知识库管理系统工具,该工具可以统一管理Git知识库并提交源码到版本管理系统,使得Android项目的开发流程自动化。Repo并不意味着替代Git工具,它仅使得工作更加简单。Repo命令是Python脚本,可以放到任何路径下。涉及到网络操作时可以使用该工具,比如使用单个Repo命令可以下载多个知识库到本地。
     Gerrit是给予web的代码review系统,集中支持了Git众多的应用。该系统允许授权用户提交代码更改,通过review后自动merge到版本管理系统。Gerrit支持差异展现和在线评论,使review比较简单。
一、版本管理基本流程
     与知识库交互的基本流程如下:
     1、建立新的分支——repo start
     2、编辑代码文件
     3、stage文件更改——git add
     4、提交更改——git commit
     5、提交更改到review服务器——repo upload

                                            
二、任务处理
     下面详细介绍了如何使用Repo和Git命令。
     1、同步本地客户端
      同步所有的工程文件——repo sync
      同步特定的工程文件——repo sync PROJECT0 PROJECT1 PROJECT2 ...
     2、创建分支
     每当开始编辑文件比如开始修改bug和添加新的功能,需要在本地创建特定的分支。分支并不是原始文件的拷贝,它作为特定提交的标示,该标示创建本地分支并在分支间进行轻量级切换,分支可以隔绝一个方面的更改。
     创建分支——repo start BRANCH_NAME
     验证新分支的有效性——repo status
    3、分支使用
     分配分支到特定工程——repo start BRANCH_NAME PROJECT
     本地环境中切换分支——git checkout BRANCH_NAME
     列出所有分支——git branch or repo branches
   4、staging文件
     默认情况下,git工具提示但并不跟踪工程的更改,为了通知git保存代码的变化,我们必须commit代码,即“staging”。
    stage文件更改——git add
    该命令可以接受任何文件和工程目录,git添加文件到git知识库,并且stage文件更改、删除的记录。
   5、浏览客户端状态
    展示文件状态——repo status
    展示未提交的文件编辑——repo diff
   6、提交更改
    git中commit是版本管理的基本单元,包含了工程的目录结构和文件内容。
    创建commit——git commit
    执行该命令后editor中弹出commit提示信息,最好能够提供有益的帮助信息。如果没有添加log信息,该次commit提交会被遗弃。
   7、提交更改到Gerrit
    upload之前更新最新的版本——repo sync
    接着提交代码——repo upload
    之后呈现我们提交的更改,并提示我们选择分支。
   8、处理代码冲突
    提交代码时如果遇到冲突,需要执行以下操作:进入相关的工程目录,针对冲突的文件运行git add和git commit命令,恢复更改。如下:
     git add .
     git commit 
     git rebase --continue
    恢复更改后再次重复整个更新:
     repo sync PROJECT0 PROJECT1 ... PROJECTN
    如果本地又对刚刚提交的代码进行了修改,提交时可以直接覆盖上次的提交,执行如下命令:
    git add files
    git commit  --amend
    repo upload
   9、清除客户端文件
    merge代码到Gerrit之后,更新本地的工作目录:
    repo sync
   安全清除陈旧的分支执行以下命令:
    repo prune
   想恢复代码到以前的分支,可以执行以下命令:
    git log
    git reset hard
  10、删除客户端代码
   由于代码所有的代码信息存储在本地,我们仅需要删除目录即可完成:
    rm -rf WORKING_DIRECTORY
   删除本地代码后将会永久的删除所有提交的更改。
三、Git和Repo流程表

流程命令表

原文参考:http://source.android.com/source/version-control.html


repo 使用 同步操作也会通过CDN与就近的服务器建立连接, 使用HTTP/HTTPS的$URL/clone.bundle来初始化本地的git库,clone.bundle实际上是远程git库的镜像,通过HTTP直接下载,这会更好的利用网络带宽,加快下载速度。REPO_LREV 是清单中修订版本的名称,已转换为本地跟踪分支。 阅读详情

相关推荐

下载repo工具

android源码下载工具repo,官网提供的repo下载链接出现连不上的情况,用这个替换即可。

repo 的官方文档

repo 的官方文档 http://source.android.com/source/version-control.html Version Control with Repo and Git To work with the Android code, you will need to use both Git and Repo. In most situatio

Yasin Lee 2983

基于RepoGit版本管理

涉及Android源代码的工作需要用到的GitRepo工具。多数情况下我们可以用Git工具代替Repo,或者两者混用组合成更复杂的命令。而Repo工具可以使Android的网络操作更加简洁。      Git是一个开源版本管理系统,旨在处理各种知识库发布的大型项目。一般来说,我们可以使用Git进行本地操作,比如本地分支化、提交、对比编辑。Android项目中一个挑战是如何支持外部的群体(爱好

Ocean2006的专栏 2万+

repogit

我们知道,Android源码是用repo来管理的,但工作中我们需要用git来管理Android源码,于是需要将 一个repo仓库转成一个git仓库。repo管理着多个git工程,只需将.git文件夹删除即可。 下载源码后,先不要急着编译。 find . -name ".git" | xargs rm -Rf git init git add -A git commit -m "add q

Android开发 2007

RepoGit 版本管理常用命令总结

1. 服务器版本下载: 1、repo init -u ssh://xxx/platform/manifest.git -b branch-name 2、repo sync 3、repo start branch-name --all 或者: git clone ssh://xxx.git git checkout -b branch-name  

格物致知的专栏 1970

基于RepoGit版本管理 .

gitbranchupload工具androidmerge      涉及Android源代码的工作需要用到的GitRepo工具。多数情况下我们可以用Git工具代替Repo,或者两者混用组合成更复杂的命令。而Repo工具可以使Android的网络操作更加简洁。      Git是一个开源版本管理系统,旨在处理各种知识库发布的大型项目。一般来说,我们可以使用Git进行本地操作,比如本地分支

1225

git、snv、repo版本管理工具使用对比

不管它是显式地设置还是通过clone或checkout 命令为你创建的,git pull都会查找当前分支所跟踪的服务器与分支,从服务器上抓取数据然后尝试合并入那个远程分支。# repo sync会更新.repo下面的文件,如果在merge的过程中出现冲突,这需要手动运行git rebase --continue.git log --oneline --decorate --graph --all # 图像显示git log信息。如想看到每次提交的简略的统计信息,你可以使用 --stat 选项。

程序猿老樊的博客 980

基于RepoGit版本管理 (转)

转自:http://blog.163.com/chaoyongan@126/blog/static/31068420201339101239726/ 翻译的:https://source.android.com/source/developing.html 涉及Android源代码的工作需要用到的GitRepo工具。多数情况下我们可以用Git工具代替Repo,或者两者混用

richard9006的专栏 1151

版本管理 git repo

Git直接管理Git仓库,而Repo管理的是多个Git仓库的组合。

不骄不躁 513

Android源码学习 使用GitRepo进行版本管理

Android项目采用GitRepo进行版本管理。在大多数情况下,Git都可以满足用户的需求。然而,由于Android项目过于庞大,想要简单、高效的管理这一百多个Git库,并不是一件容易的事情。Repo正是基于此需求,对Git命令部分封装,用来简化一些跨网络的操作。 安装Repo 创建repo所在的目录,并将目录加到PATH环境变量中 $ mkdir ~/bin$ PATH

张亮校的专栏 2403

Android源码学习(2)使用GitRepo进行版本管理

Android项目采用GitRepo进行版本管理。在大多数情况下,Git都可以满足用户的需求。然而,由于Android项目过于庞大,想要简单、高效的管理这一百多个Git库,并不是一件容易的事情。Repo正是基于此需求,对Git命令部分封装,用来简化一些跨网络的操作。 安装Repo 创建repo所在的目录,并将目录加到PATH环境变量中 $ mkdir ~/bin

jinxinliu1的专栏 1314

android git 版本管理,Android版本管理git repo

看了好久android論壇上的介紹,還是不明白,沒辦法,自己測試一下吧首先下載好源碼....1.作Branch分支$ repo start BRANCH_NAME PROJECT比如,我要做自己一個ethernet的分支,需要用到的工程有frameworks/base,pacakges/apps/Setting,build/core那么我就執行$ repo startmyethernet fra...

weixin_29821699的博客 283

RepoGit 版本管理常用命令

转载一则: Git命令快速参考 Git Command Quick Reference 本附录为Git常见命令快速参考。每节介绍一种操作类型。 这里会列出很多命令,而相应的解释却不多。对于还不熟悉Git的读者,可回头翻阅第1章“Git的版本控制之道”(第3页)。 A.1安装初始化 Setup and Initialization 在使用Git之前,须要先进行配置。在

android/linux 技术学习 1314
上一篇: android下的repo使用
下一篇: Android App定位和规避内存泄露方法研究
vastyh
博客等级 码龄16年 11粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值