Android拓展系列(2)--Git使用
来源:互联网 发布:德国博士申请 知乎 编辑:程序博客网 时间:2024/04/30 11:27
http://www.cnblogs.com/qianxudetianxia/archive/2011/06/12/2035974.html git是免费的开源的分布式的版本控制系统。 我说的直白点,要强调的点是每个git clone下来的版本库都是一个完整的版本库,包括所有的历史记录和版本信息,不需要依赖网络,这点在使用的过程中你一定会有感触,git不是盖的。 1.基本命令。 2.开始使用git。 3.克隆版本库 补充一点,svn中本地的版本只是服务器版本的一个切面,但是git不同,本地版本是一个完整的版本库,包括所有的历史信息和版本信息。 4.添加文件 在分支branch上有三个新文(new file)件。 5.提交到本地版本库 6.查看分支。 7.合并到远程版本库。 到此,git的最基本使用已经熟悉了。 8.查看log。 9.查看分支 。 10.查看标签。 11.小结。
git很快,但是这点我没有大的感觉;
git易于使用,相对svn而言,我不觉得git比之简单,但是总体来说git还是比较容易的,尤其是服务器端的部署非常简易。
本文仅仅介绍一下git的简单使用。关于一些不常用的东西尽量会过滤掉。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以及本地的配置,我已经配置完成,这不是本文要讲的重点,所以我接下来直接演示使用。
使用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
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 .
//提交当前文件夹的增加项到本地版本库
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
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
git log命令用于查看修改日志,它的参数非常丰富,在此不一一列举了,参考本文开始的基本命令部分。
我们先查看分支,再添加新的分支branch1来看看效果:
新建分支后,我们可以通过checkout切换到指定分支。
绿色颜色标识了当前所在分支。
除了可以新建分支,也可以删除分支:
分支功能是git最强大的一部分,还可以从基于远程分支创建新分支,合并分支等等。
Tag标签,是为了记录一些重要的事件,被打成一个标志,比如android的版本号等等里程碑事件。
tag和branch的添加,切换的使用方式基本相同。
tag是只读的,该tag对应的工作目录树内容不能再修改了,而branch则不是。
git真是一个很不错的东西,推荐大家去了解下,并在工作中能去普及使用。
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列(2)--Git使用
- Android拓展系列--Git使用
- Android拓展系列(8)
- Android拓展系列(4)--vim编辑器的基本使用
- Android进阶系列(1)--Git使用
- Android拓展系列(3)--Android源码下载
- Android拓展系列(3)--Android源码下载
- Android拓展系列--Android源码下载
- Android拓展系列(3)--Android源码下载
- Android中SQLite使用拓展
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
- DDR3和DDR2和DDR的工作原理及技术区别
- Bash shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义
- 新浪被黑,完全和技术无关,101%的安全意识问题。
- 为什么通过JSP得不到grid想要的数据
- 如何进行高效的Rails单元测试
- Android拓展系列(2)--Git使用
- ☆ Visual Studio 2008 每日小窍门 【持续发布ing~】 Tips:040
- Python yield 用法
- 使用Xerces DOM 处理XML文件
- Mysql命令行中文乱码的解决方法
- Android拓展系列(3)--Android源码下载
- ★★★★★ Visual Studio 2008 每日小窍门 【持续发布ing~】 Tips:041
- 不得不佩服
- app提权的方法