个人邮箱:xiaokeweng@gmail.com
最近在学习android中使用了repo和git,repo是google使用shell和python写的一个脚本,其中封装了git的调用。从而方便android开发人员的使用。于是专门小小的学习了下python,看了repo的源码,同大家分享一下。
Linux环境下,如果你曾尝试过在google官网上down代码并自己build,你一定见到过以下这几句代码。其实刚开始接触的时候根本不了解介是个嘛。就感觉照着敲就行了。
内容来自android.com:http://source.android.com/source/downloading.html
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ repo init -u https://android.googlesource.com/platform/manifest
$ repo sync
如果你从事的是关于app的开发,那么你可能并不需要深入了解他们,因为你专注在android的最顶层。但是如果你接触到的是android内核,驱动,framework层等相对上游的开发。熟练掌握一类版本控制工具显得尤为重要,那么接下来我们来说说什么是git,什么是repo。
Git传奇
Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linuxkernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(mergetracing)能力。
Git- wiki:http://zh.wikipedia.org/wiki/Git
其实呢git就是用在像Linuxkernel这样庞大,而复杂,的项目中的版本控制(Revisioncontrol)中,学名叫神马维护工程蓝图的标的软件工程技巧,其实思想比较容易理解,而且平时我们也潜移默化的应用在实际编程甚至生活中:比如你编写word文档时候的保存,备份,借鉴合并,分章节,批注。写代码时候函数的高内聚,低耦合,分函数,分模块,加注释等等。
版本控制-wiki:http://zh.wikipedia.org/wiki/%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6
总体的来讲合理的使用git,可以保证记录下你对工程的每一步更改,并追踪,合理的差分编码,分布式存储。既然全世界都在用,而且又有那么多使用他的牛B的大项目,甚至写成了各种厚厚的书。肯定有它牛逼的地方。
因为关于git的使用的文章实在是tmd太多了,选了几个链接在文章最后,其实平时使用的不过几条,只要熟练掌握这几条,对于一般项目足够了。后面将要介绍repo的使用和源码。
git命令使用:
http://www.cnblogs.com/zhangjing230/archive/2012/05/09/2489745.html
git个性化设置:
http://blog.jobbole.com/26131/
git内部原理:
http://blog.jobbole.com/26209/
《progit》电子博客版:
http://blog.jobbole.com/tag/pro-git/