Android拓展系列(2)--Git使用
2011-06-29 09:43
197 查看
http://www.cnblogs.com/qianxudetianxia/archive/2011/06/12/2035974.html
git是免费的开源的分布式的版本控制系统。
我说的直白点,要强调的点是每个git clone下来的版本库都是一个完整的版本库,包括所有的历史记录和版本信息,不需要依赖网络,这点在使用的过程中你一定会有感触,git不是盖的。
git很快,但是这点我没有大的感觉;
git易于使用,相对svn而言,我不觉得git比之简单,但是总体来说git还是比较容易的,尤其是服务器端的部署非常简易。
本文仅仅介绍一下git的简单使用。关于一些不常用的东西尽量会过滤掉。
1.基本命令。
2.开始使用git。
我在github建立来一个工程qianxudetianxia:
我们以这个为例子来演示如何使用git。
说明:关于github上创建repository以及本地的配置,我已经配置完成,这不是本文要讲的重点,所以我接下来直接演示使用。
3.克隆版本库
使用git clone命令,克隆操作就是创建远程版本库的本地拷贝。
举例说明,我想把服务器的版本库克隆到本地的code/文件夹下:
如果你不想看到生成的文件夹是qianxudetianxia,只要在上面命令后加上另外的名字即可:
补充一点,svn中本地的版本只是服务器版本的一个切面,但是git不同,本地版本是一个完整的版本库,包括所有的历史信息和版本信息。
我在Android拓展系列(3)--Android源码下载文章中提到的下载android源码也用到了git clone命令,如下:
区分:git init和git clone的差别,git init用于创建版本库,这个内容我在本文此略去(本文着重于git的了解,关于创建和搭建服务器配置还有客户端的使用都故意略去),git clone则是从远程服务器克隆,包括历史记录。
4.添加文件
git中存放代码的地方有三个,第一个是工作目录树,也就是我们看到的代码文件夹;第二是暂存区,是本地中和远程版本库的一个缓冲区域,暂存区一般存放的是本地准备要提交到远程版本库的修改;第三个是远程版本库。
git add命令是把工作目录树中的修改添加到暂存区。
添加成功后,我们用git status命令来查看以下当前工作目录树的状态:
在分支branch上有三个新文(new file)件。
5.提交到本地版本库
提交成功。
6.查看分支。
7.合并到远程版本库。
到此,git的最基本使用已经熟悉了。
8.查看log。
git log命令用于查看修改日志,它的参数非常丰富,在此不一一列举了,参考本文开始的基本命令部分。
9.查看分支 。
我们先查看分支,再添加新的分支branch1来看看效果:
新建分支后,我们可以通过checkout切换到指定分支。
绿色颜色标识了当前所在分支。
除了可以新建分支,也可以删除分支:
分支功能是git最强大的一部分,还可以从基于远程分支创建新分支,合并分支等等。
10.查看标签。
Tag标签,是为了记录一些重要的事件,被打成一个标志,比如android的版本号等等里程碑事件。
tag和branch的添加,切换的使用方式基本相同。
tag是只读的,该tag对应的工作目录树内容不能再修改了,而branch则不是。
11.小结。
git真是一个很不错的东西,推荐大家去了解下,并在工作中能去普及使用。
git是免费的开源的分布式的版本控制系统。
我说的直白点,要强调的点是每个git clone下来的版本库都是一个完整的版本库,包括所有的历史记录和版本信息,不需要依赖网络,这点在使用的过程中你一定会有感触,git不是盖的。
git很快,但是这点我没有大的感觉;
git易于使用,相对svn而言,我不觉得git比之简单,但是总体来说git还是比较容易的,尤其是服务器端的部署非常简易。
本文仅仅介绍一下git的简单使用。关于一些不常用的东西尽量会过滤掉。
1.基本命令。
01 | /** |
02 | *这里列举几个常见的git命令,让大家过过目 |
03 | **/ |
04 | 1)基本操作 |
05 | >git init //初始化版本库 |
06 | >git clone //克隆版本库 |
07 | >git add //添加新文件 |
08 | >git commit //提交到本地版本库 |
09 | >git checkout //检出(分支、标签) |
10 |
11 | 2)分支 |
12 | >git branch //列出分支 |
13 | >git branch -r //列出远程分支 |
14 | >git branch -a //列出所有分支 |
15 | >git branch newBranch //基于当前分支创建新分支newBranch |
16 | >git branch -D branchName //删除分支branchName |
17 | >git branch -d branchName //仅删除已合并分支branchName |
18 | >git merge <--> //合并分支<br>>git tag |
1 | 3)历史 |
2 | >git log //显示全部历史 |
3 | >git log -p //显示版本历史,以及版本间的内容差异 |
4 | >git log -5 //显示最近的5个提交 |
5 | >git log -5 -p //显示最近的5个提交,以及版本间的内容差异 |
6 | >...(很多很多参数...) |
7 | >git diff 112 115 //显示112和115版本的差别 |
我在github建立来一个工程qianxudetianxia:
1 | git@github.com:fjtianxia/qianxudetianxia.git |
说明:关于github上创建repository以及本地的配置,我已经配置完成,这不是本文要讲的重点,所以我接下来直接演示使用。
3.克隆版本库
使用git clone命令,克隆操作就是创建远程版本库的本地拷贝。
举例说明,我想把服务器的版本库克隆到本地的code/文件夹下:
1 | > cd code |
2 | > git clone git@github.com:fjtianxia/qianxudetianxia.git |
3 | //该命令会在code文件夹下创建qianxudetianxia文件夹,作为远程版本库的一个本地拷贝,输出结果如下 |
4 | Cloning into qianxudetianxia... |
5 | remote: Counting objects: 8, done. |
6 | remote: Compressing objects: 100% (5/5), done. |
7 | remote: Total 8 (delta 1), reused 0 (delta 0) |
8 | Receiving objects: 100% (8/8), done. |
9 | Resolving deltas: 100% (1/1), done. |
1 | //下面则是在本地生成test目录,作为远程版本库的一个本地拷贝 |
2 | > git clone git@github.com:fjtianxia/qianxudetianxia.git test |
我在Android拓展系列(3)--Android源码下载文章中提到的下载android源码也用到了git clone命令,如下:
1 | >git clone git: //android.git.kernel.org/platform/frameworks/base.git android-sdk-source |
4.添加文件
git中存放代码的地方有三个,第一个是工作目录树,也就是我们看到的代码文件夹;第二是暂存区,是本地中和远程版本库的一个缓冲区域,暂存区一般存放的是本地准备要提交到远程版本库的修改;第三个是远程版本库。
git add命令是把工作目录树中的修改添加到暂存区。
1 | > cd qianxudetianxia/ |
2 | > touch test.txt //创建test.txt文件 |
3 | > git add test.txt //添加到本地版本库 |
4 | > touch a.txt b.txt //创建多个文件 |
5 | > git add . //提交当前文件夹的增加项到本地版本库 |
在分支branch上有三个新文(new file)件。
5.提交到本地版本库
1 | //git commit是提交命令,把修改提交到本地版本库中 |
2 | //-m参数,添加说明文字 |
3 | > git commit -m 'add the three new file' |
4 | [master a0885c9] add the three new file |
5 | 0 files changed, 0 insertions(+), 0 deletions(-) |
6 | create mode 100644 a.txt |
7 | create mode 100644 b.txt |
8 | create mode 100644 test.txt |
6.查看分支。
1 | >git branch -a |
2 | //输出如下,其中master是本地分支,origin是远程版本库的别名 |
3 | * master |
4 | remotes/origin/HEAD -> origin/master |
5 | remotes/origin/master |
1 | //把本地分支master的修改合并到远程版本库origin中(的远程分支master) |
2 | > git push origin master |
3 | Counting objects: 3, done. |
4 | Delta compression using up to 4 threads. |
5 | Compressing objects: 100% (2/2), done. |
6 | Writing objects: 100% (2/2), 294 bytes, done. |
7 | Total 2 (delta 0), reused 0 (delta 0) |
8 | To git@github.com:fjtianxia/qianxudetianxia.git |
9 | 8a7d54d..a0885c9 master -> master |
8.查看log。
git log命令用于查看修改日志,它的参数非常丰富,在此不一一列举了,参考本文开始的基本命令部分。
9.查看分支 。
我们先查看分支,再添加新的分支branch1来看看效果:
新建分支后,我们可以通过checkout切换到指定分支。
绿色颜色标识了当前所在分支。
除了可以新建分支,也可以删除分支:
分支功能是git最强大的一部分,还可以从基于远程分支创建新分支,合并分支等等。
10.查看标签。
Tag标签,是为了记录一些重要的事件,被打成一个标志,比如android的版本号等等里程碑事件。
tag和branch的添加,切换的使用方式基本相同。
tag是只读的,该tag对应的工作目录树内容不能再修改了,而branch则不是。
11.小结。
git真是一个很不错的东西,推荐大家去了解下,并在工作中能去普及使用。
相关文章推荐
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- git使用系列(一)--将本地android项目提交至oschina上
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- Android拓展系列(8)--Vim插件便捷管理(使用git submodule和pathogen)
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- Android进阶系列(1)--Git使用
- Android拓展系列(7)--vim编辑器的进阶使用
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- Android拓展系列(4)--vim编辑器的基本使用
- Android拓展系列(10)--使用Android Studio阅读整个Android源码
- Android拓展系列(4)--vim编辑器的基本使用
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库