设为首页 收藏本站
查看: 1100|回复: 0

[经验分享] Android拓展系列(2)

[复制链接]

尚未签到

发表于 2018-1-14 20:33:46 | 显示全部楼层 |阅读模式
  git是免费的开源的分布式版本控制系统
  我说的直白点,要强调的点是每个git clone下来的版本库都是一个完整的版本库,包括所有的历史记录和版本信息,不需要依赖网络,这点在使用的过程中你一定会有感触,git不是盖的。
  git很快,但是这点我没有大的感觉;
  git易于使用,相对svn而言,我不觉得git比之简单,但是总体来说git还是比较容易的,尤其是服务器端的部署非常简易。
  本文仅仅介绍一下git的简单使用。关于一些不常用的东西尽量会过滤掉。
  1.基本命令。
  

/**  
*这里列举几个常见的git命令,让大家过过目
  
**/
  
1)基本操作
  
>git init //初始化版本库
  
>git clone //克隆版本库
  
>git add //添加新文件
  
>git commit //提交到本地版本库
  
>git checkout //检出(分支、标签)
  

  
2)分支
  
>git branch //列出分支
  
>git branch -r //列出远程分支
  
>git branch -a //列出所有分支
  
>git branch newBranch //基于当前分支创建新分支newBranch
  
>git branch -D branchName //删除分支branchName
  
>git branch -d branchName //仅删除已合并分支branchName
  
>git merge <--> //合并分支
  >git tag
  

3)历史  
>git log //显示全部历史
  
>git log -p //显示版本历史,以及版本间的内容差异
  
>git log -5 //显示最近的5个提交
  
>git log -5 -p //显示最近的5个提交,以及版本间的内容差异
  
>...(很多很多参数...)
  
>git diff 112 115 //显示112和115版本的差别
  

  2.开始使用git。
  我在github建立来一个工程qianxudetianxia:
  

git@github.com:fjtianxia/qianxudetianxia.git  

  

  我们以这个为例子来演示如何使用git。
  说明:关于github上创建repository以及本地的配置,我已经配置完成,这不是本文要讲的重点,所以我接下来直接演示使用。
  3.克隆版本库
  使用git clone命令,克隆操作就是创建远程版本库的本地拷贝。
  举例说明,我想把服务器的版本库克隆到本地的code/文件夹下:
  

> cd code  
> git clone git@github.com:fjtianxia/qianxudetianxia.git
  
//该命令会在code文件夹下创建qianxudetianxia文件夹,作为远程版本库的一个本地拷贝,输出结果如下
  
Cloning into qianxudetianxia...
  
remote: Counting objects: 8, done.
  
remote: Compressing objects: 100% (5/5), done.
  
remote: Total 8 (delta 1), reused 0 (delta 0)
  
Receiving objects: 100% (8/8), done.
  
Resolving deltas: 100% (1/1), done.
  

  

  如果你不想看到生成的文件夹是qianxudetianxia,只要在上面命令后加上另外的名字即可:
  

//下面则是在本地生成test目录,作为远程版本库的一个本地拷贝  
> git clone git@github.com:fjtianxia/qianxudetianxia.git test
  

  

  补充一点,svn中本地的版本只是服务器版本的一个切面,但是git不同,本地版本是一个完整的版本库,包括所有的历史信息和版本信息。
  我在Android拓展系列(3)--Android源码下载文章中提到的下载android源码也用到了git clone命令,如下:

  

>git clone git://android.git.kernel.org/platform/frameworks/base.git android-sdk-source  

  

  区分:git init和git clone的差别,git init用于创建版本库,这个内容我在本文此略去(本文着重于git的了解,关于创建和搭建服务器配置还有客户端的使用都故意略去),git clone则是从远程服务器克隆,包括历史记录。
  4.添加文件
  git中存放代码的地方有三个,第一个是工作目录树,也就是我们看到的代码文件夹;第二是暂存区,是本地中和远程版本库的一个缓冲区域,暂存区一般存放的是本地准备要提交到远程版本库的修改;第三个是远程版本库。
  git add命令是把工作目录树中的修改添加到暂存区。
  

> cd qianxudetianxia/  
> touch test.txt //创建test.txt文件
  
> git add test.txt //添加到本地版本库
  
> touch a.txt b.txt //创建多个文件
  
> git add . //提交当前文件夹的增加项到本地版本库
  

  

  添加成功后,我们用git status命令来查看以下当前工作目录树的状态:

  在分支branch上有三个新文(new file)件。
  5.提交到本地版本库
  

//git commit是提交命令,把修改提交到本地版本库中  
//-m参数,添加说明文字
  
> git commit -m 'add the three new file'
  
[master a0885c9] add the three new file
  
0 files changed, 0 insertions(+), 0 deletions(-)
  
create mode 100644 a.txt
  
create mode 100644 b.txt
  
create mode 100644 test.txt
  

  

  提交成功。
  6.查看分支。
  

>git branch -a  
//输出如下,其中master是本地分支,origin是远程版本库的别名
  
* master
  
remotes/origin/HEAD -> origin/master
  
remotes/origin/master
  

  7.合并到远程版本库。
  

//把本地分支master的修改合并到远程版本库origin中(的远程分支master)  
> git push origin master
  
Counting objects: 3, done.
  
Delta compression using up to 4 threads.
  
Compressing objects: 100% (2/2), done.
  
Writing objects: 100% (2/2), 294 bytes, done.
  
Total 2 (delta 0), reused 0 (delta 0)
  
To git@github.com:fjtianxia/qianxudetianxia.git
  
8a7d54d..a0885c9  master -> master
  

  

  到此,git的最基本使用已经熟悉了。
  8.查看log。
  git log命令用于查看修改日志,它的参数非常丰富,在此不一一列举了,参考本文开始的基本命令部分。

  9.查看分支 。
  我们先查看分支,再添加新的分支branch1来看看效果:

  新建分支后,我们可以通过checkout切换到指定分支。
  绿色颜色标识了当前所在分支。
  除了可以新建分支,也可以删除分支:
     分支功能是git最强大的一部分,还可以从基于远程分支创建新分支,合并分支等等。

  10.查看标签。
  Tag标签,是为了记录一些重要的事件,被打成一个标志,比如android的版本号等等里程碑事件。
  tag和branch的添加,切换的使用方式基本相同。
  tag是只读的,该tag对应的工作目录树内容不能再修改了,而branch则不是。
  11.小结。
  git真是一个很不错的东西,推荐大家去了解下,并在工作中能去普及使用。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435124-1-1.html 上篇帖子: 终于解决“Git Windows客户端保存用户名与密码”的问题 下篇帖子: GIT 使用小结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表