《Android编程权威指南》-读书笔记(三)Git初探
版本控制-Git
为什么要使用版本控制
什么是版本控制?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。
如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能)。采用版本控制系统(VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。
Git的安装
在Windows下安装Git。我们首先访问 http://msysgit.github.com/
在工作目录中初始化新仓库
在工作目录中(比如我在e:\example\GeoQuiz)右键,然后选择Git Bash。
我们先看看配置
$ git configt –list
没有我的用户信息。用户信息很重要,每次Git提交时都会引用这2条信息,说明谁提交了更新,所以会随更新内容一起被永久纳入历史记录:
Git config –global user.name <用户名>
Git config –global user.email <电子邮箱>
$ git config –global user.name "lijing"
$ git config –global user.email hi_lijing@foxmail.com
执行git config –list后可以看到我的用户信息已经加入了配置。
现在我们执行下面的指令
$ git init
并且查看初始化后的状态
$ git status
仓库创建好了,但是源代码都没有提交,系统提示使用 git add 来提交
$ git add .
提交所有以后
$ git status
查看会发现build没有提交,原来目录里有一个.gitignore,内容如下
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
到了这一步,其实我不知道这个文件是git创建的,还是android studio创建的。我尝试创建了一个新项目,发现新项目里面也有.gitignore。说明这是Android Studio创建的。这个文件也可以自己创建,它有自己的规则用来选择哪些符合规则的文件不被提交到版本控制器里面。
至此我们的新仓库已经创建好了。然后提交以下
$git commit –m
尝试一次加入新的文件
我们直接在目录里面添加一个readme.txt 文件,内容随便写点什么。然后查看一下
$git status
这里就可以看到新添加的文件了
$git add . 或者 $git add readme.txt
然后提交
$git commit –m "create a readme file"
创建远程的数据仓库
现在要想查看我的源代码我必须将源代码上传到服务器上。我选择了http://git.oschina.net
首先我添加一个远程仓库
$git remote add GeoQuiz https://git.oschina.net/canglin/GeoQuiz.git
然后查看一下
$git remote -v
由于是第一次
$git push GeoQuiz master 肯定是不行的,因为与服务器上的代码冲突,必须合并一次。
$git pull GeoQuiz master
$git push GeoQuiz master
http://git.oschina.net/canglin/GeoQuiz 成功了,访问这个网址可以得到源代码