Git-和repo扫盲_第1页
Git-和repo扫盲_第2页
Git-和repo扫盲_第3页
Git-和repo扫盲_第4页
Git-和repo扫盲_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Git 和repo扫盲Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库,它们可以支持离线工作,本地提交可以稍后提交到服务器上。分布式系统理论上也比

2、集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。因为Android是由kernel、Dalvik、Bionic、prebuilt、build等多个Git项目组成,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得Git的使用更加简单。这几天William为了拿Android最新的sourcecode,学习了一下git和repo的一些基本操作,整理了一个如何取得Android代码的How-To,今天把他贴上来。1、Git的安装(步骤1)在Ubuntu 8.04上安装git只要设

3、定了正确的更新源,然后使用apt-get就可以了,有什么依赖问题,就让它自己解决吧。其中cURL是一个利用URL语法在命令行下工作的文件传输工具,会在后面安装Repo的时候用到。sudo apt-get install git-core curl2、安装Repo(步聚2)首先确保在当前用户的主目录下创建一个/bin目录(如果没有的话),然后把它(/bin)加到PATH环境变量中接下来通过cURL来下载Repo脚本,保存到/bin/repo文件中curl /repo >/bin/repo别忘了给repo可执行权限chmod a+x /

4、bin/repo3、初始化版本库如果是想把Android当前主线上最新版本的所有的sourcecode拿下来,我们需要repo的帮助。先建立一个目录,比如/android,进去以后用repo init命令即可。repo init -u git://platform/manifest.git具体要多少时间就取决于网络条件了,我只用了2、3分钟的样子。最后会看到 repo initialized in /android这样的提示,就说明本地的版本库已经初始化完毕,并且包含了当前最新的sourcecode。(步骤3)如果想拿某个branch而不是主线上的代

5、码,我们需要用-b参数制定branch名字,比如:repo init -u git://platform/manifest.git -b cupcake在repo init时带上 -b 分支名称比如要拿某个1.6分支的:repo init -u git://platform/manifest.git -b android-1.6_r2repo sync分支信息在后面另一种情况是,我们只需要某一个project的代码,比如kernel/common,就不需要repo了,直接用Git即可。git clone g

6、it://kernel/common.git这也需要不少的时间,因为它会把整个Linux Kernel的代码复制下来。如果需要某个branch的代码,用git checkout即可。比如我们刚刚拿了kernel/common.get的代码,那就先进入到common目录,然后用下面的命令:git checkout origin/android-goldfish-2.6.27 -b goldfish这样我们就在本地建立了一个名为goldfish的android-goldfish-2.6.27分支,代码则已经与android-goldgish-2.6.27

7、同步。我们可以通过git branch来列出本地的所有分支。4、同步版本库使用repo sync命令,我们把整个Android代码树做同步到本地,同样,我们可以用类似repo sync project1 project2 这样的命令来同步某几个项目我进入/android后使用命令repo sync命令完成源码的下载,这是时间最长的,建议在晚上下班之后下载。(步聚4)如果是同步Android中的单个项目,只要在项目目录下执行简单的git pull即可。5、通过GitWeb下载代码另外,如果只是需要主线上某个项目的代码,也可以通过GitWeb下载,在shortlog利用关键字来搜索特定的版本,或者

8、找几个比较新的tag来下载还是很容易的。Git最初是为Linux内核开发而设计,所以对其他平台的支持并不好,尤其是Windows平台,必须要有Cygwin才可以。现在,得益于msysgit项目,我们已经可以不需要Cygwin而使用Git了。另外,Git Extensions是一个非常好用的Windows Shell扩展,它能与资源管理器紧密集成,甚至提供了Visual Studio插件。它的官方网站上有一分不错的说明文档,感兴趣的朋友可以看一看。至于Git的参考文档,我推荐Git Magic,这里还有一个Git Magic的中文版。platform/manifest.git 12 hours

9、agoandroid-cts-2.1_r4Android 2.1 CTS release 4tag| commit | shortlog | log2 weeks agoandroid-cts-2.2_r2Android 2.2 CTS release 2tag| commit | shortlog | log5 weeks agoandroid-cts-2.2_r1Android 2.2 CTS release 1tag| commit | shortlog | log7 weeks agoandroid-2.2_r1.1Android 2.2 release 1.1tag| commit

10、| shortlog | log8 weeks agoandroid-cts-2.1_r3Android 2.1 CTS release 3tag| commit | shortlog | log8 weeks agoandroid-2.2_r1Android 2.2 release 1tag| commit | shortlog | log2 months agoandroid-cts-2.1_r2Android 2.1 CTS release 2tag| commit | shortlog | log3 months agoandroid-2.1_r2.1p2Android 2.1 rel

11、ease 2.1p2tag| commit | shortlog | log4 months agoandroid-2.1_r2.1pAndroid 2.1 release 2.1ptag| commit | shortlog | log4 months agoandroid-2.1_r2.1sAndroid 2.1 release 2.1stag| commit | shortlog | log5 months agoandroid-sdk-tools_r5Android SDK tools release 5tag| commit | shortlog | log6 months agoa

12、ndroid-2.1_r2Android 2.1 release 2tag| commit | shortlog | log6 months agoandroid-sdk-2.1_r1Android 2.1 SDK release 1tag| commit | shortlog | log6 months agoandroid-sdk-tools_r4Android SDK tools release 4tag| commit | shortlog | log6 months agoandroid-sdk-2.0.1-docs_r1Android 2.0.1 SDK documentation

13、. tag| commit | shortlog | log6 months agoandroid-sdk-2.0.1_r1Android 2.0.1 SDK release 1tag| commit | shortlog | log6 months agoandroid-sdk-1.6_r2Android 1.6 SDK release 2tag| commit | shortlog | log6 months agoandroid-sdk-2.0_r1Android 2.0 SDK release 1tag| commit | shortlog | log6 months agoandro

14、id-sdk-tools_r3Android SDK tools release 3tag| commit | shortlog | log6 months agoandroid-1.6_r1.5Android 1.6 release 1.5tag| commit | shortlog | log6 months agoandroid-2.0.1_r1Android 2.0.1 release 1tag| commit | shortlog | log6 months agoandroid-2.0_r1Android 2.0 release 1tag| commit | shortlog |

15、log6 months agoandroid-2.1_r1Android 2.1 release 1tag| commit | shortlog | log9 months agoandroid-1.6_r2Android 1.6 release 2tag| commit | shortlog | log10 months agoandroid-1.6_r1.4Android 1.6 release 1.4tag| commit | shortlog | log10 months agoandroid-1.6_r1.3Android 1.6 release 1.3tag| commit | s

16、hortlog | log10 months agoandroid-sdk-tools_r2Android SDK tools release 2tag| commit | shortlog | log10 months agoandroid-sdk-1.6-docs_r1Android 1.6 SDK documentation release 1tag| commit | shortlog | log10 months agoandroid-1.6_r1.2Android 1.6 release 1.2tag| commit | shortlog | log10 months agoand

17、roid-1.6_r1.1Android 1.6 release 1.1tag| commit | shortlog | log10 months agoandroid-1.5r4Android 1.5 refresh 4tag| commit | shortlog | log11 months agoandroid-1.6_r1Android 1.6 release 1tag| commit | shortlog | log11 months agoandroid-sdk-1.6_r1Android 1.6 SDK release 1tag| commit | shortlog | log12 months agoandroid-1.5r2Android 1.5 refresh 2tag| commit | shortlog | log12 months agoandroid-1.5r3Android 1.5 refresh 3tag| commit | shortlog | log13 months agoandroid-sdk-1.5_r3Android 1.5 SDK release 3tag| commit | shortlog | log15 months agoandroid-sdk-1.5_r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论