Git是一个开源的分布式版本控制工具,它的开发者就是Linux操作系统的作者Linus Tovarlds。Git被开发出来的初衷是为了更好的管理Linux内核,如今却被广泛地用于全球各大大中小型的项目中。接下来讲解一下Git的用法:

1、安装Git

Git在linux下的安装时非常简单的,假设你用的是Ubuntu系统,你只需要在shell界面中输入:sudo apt-get install git-core即可完成对Git的安装了。由于我是在Windows上进行开发的,所以这篇文章是基于Windows上的Git来讲解的。Window上安装Git无法通过一串命令就能完成安装。首先,我们需要下载Git的安装包,网址是:http://msysgit.github.io/ 界面如图一:

图一

点击途中Download按钮即可开始下载。下载完之后一直点击下一步就可以完成安装了。

2、创建代码仓库

Windows下的Git是可以直接进行界面操作的,不过并不建议这样使用,Git命令才是我们要掌握的核心。不管你在哪个操作系统下,Git命令都是通用的。接下来我们再Git的安装路径中找到Git Bash并打开。首先要配置一下你的身份,命令如下所示:

git config --global user.name "MLDan"

git config --global user.email "MLDan@gmail.com"

而查看是否配置成功只要将后面的名字和邮箱去掉并输入就可以验证,命令图二:

图二

这时候我们就可以奖励自己第一个代码仓库。在eclipse下新建一个android项目,命名为GitDemo(名字自己取),然后进入GitDemo的项目目录下,在这个目录下输入命令git init 。这样,就完成了代码仓库的创建,如图三所示:

图三

代码仓库创建完之后,会在GitDemo目录下生成一个.git文件,输入命令:ls -al可以查看,如图四所示:

图四

如果想要删除本地仓库,只要删除这个文件夹就行了。

3、提交本地项目代码

在新建好的数据仓库中提交代码,只需要使用add和commit命令就行了。add命令只是用于把想要提交的文件先添加进去,commit命令才是真正地执行提交的操作。以project.properties为例,输入命令:git add project.properties;这是添加单个文件的方法,如果想要添加整个文件夹,可以以文件夹的名字作为参数,以src文件为例,执行命令:git add src;如果要添加整个项目的话就执行命令:git add . 如图五所示:

图五

执行完添加操作之后还要执行commit的操作,输入命令git commit -m "first commit";注意,-m后面的参数是来加上提交的描述信息的,没有加上是为不合法。如此,所有的代码就已经成功提交了。

4、忽略不必要的文件

对于新建好的代码仓库,我们应该去提交GitDemo项目中的代码,但是我们应该考虑一下是不是所有的文件都需要加入版本的控制器中。在Android的项目结构中,bin目录和gen目录里的文件是自动生成的,所以我们不需要把它们加入版本控制器中,否则可能对项目的自动生成造成影响。这种情况下,Git给我们提供一种机制,它允许用户将不需要的文件和目录排除在版本控制之外。它会去检查代码仓库根目录下是否存在一个.gitinore的文件,如果存在的话,它回去读取该文件,并将该文件中每一行描述的文件或者目录排除在外,如图六所示:

图六

这样表示就可以将bin目录和gen目录忽略掉了。这时候就可以去使用add命令和commit命令了。

5、查看修改的文件内容

在提交完项目代码之后,我们可能对项目代码进行维护和修改。修改到后面,你可能会忘记了自己修改了那些地方,这时候你就可以通过Git版本控制工具来查看自己的文件的修改情况,假设我们再MainActivity.java 的onCreate函数下添加这样一句代码String str = "Hello world";

package com.example.gitdemo;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String str = "Hello world";}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

这时候我们就可以通过执行命令: git status 来查看修改的文件了,如图七所示:

图七

接下来我们可以通过执行命令:git diff 查看具体修改的情况,“+”号表示添加,“-”号便是删除,如图八所示:

图八

这个时候,如果我们想要将修改的代码提交上去就执行add和commit命令,但是如果我们觉得我们的代码写得有问题,想要撤销所有修改的内容。遇到这种情况,只要修改后的代码还没提交,我们就可以回到修改之前的代码状况。想要撤销就得执行checkout的命令,执行命令: git checkout src/com/example/gitdemo/MainActivity.java ,执行结果及代码如图九所示:

图九

5、查看提交记录

Git会帮我们记录每一次提交的记录以及修改的内容,我们可以执行命令: git log 查询提交记录,记录中包含了提交id、提交人、提交日期以及提交描述,如图十所示:

图十

接下来我们可以根据提交的id查看具体修改了什么内容,执行命令:git log 7898d78c4d65bbe6397e5676e78c5507866ea56f -1 -p,结果如图十一所示:

图十一

至此,我们就熟悉了Git版本工具的基本用法,接下来的文章会讲解一些更高级的用法。

Git版本控制工具的使用一相关推荐

  1. git版本控制工具(二)----本地版本库的常用操作

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  2. git修改服务器的命令行,Git版本控制工具安装及命令行操作

    很多小伙伴不知道如何来安装Git版本控制工具,对于命令操作比较陌生.本文做了一个详细的文档,希望对大家有所帮助. 1.git 是什么一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制 ...

  3. Android studio怎么使用git版本控制工具

    我们在实际做项目开发时,一般都需要多人协同开发,这就产生了代码管控的需求,一些版本控制的工具就应运而生了.现在常用的一种是git,另外还有些svn等,本人感觉git工具比较好用,这篇文章也只讲述git ...

  4. VS Code简单使用git版本控制工具管理代码

    前提准备工作: 本文是基于已经安装了git的基础上再使用VS Code对git简单使用的,如果打开一个已经用git管理的项目的话,你会发现项目的根目录里面出现一个 .git文件,如下图. 灰色文件夹. ...

  5. git版本控制工具的安装以及关联远程仓库(gitee为例)

    安装git(版本控制工具) 360软件管家安装(网络不佳的同学) git --version(测试是否安装完成,或者在桌面右击可以看到Git Gui here和Git Bash here) 配置用户名 ...

  6. git 命令详解_再次学习Git版本控制工具

    微信公众号:PHP在线 Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP ...

  7. Git版本控制工具和Github代码托管平台

    一.创建代码仓库 1.配置自己的身份,提交代码时才知道是谁提交的. 设置name git config --global user.name "GHQ" 设置email git c ...

  8. 16年4月21号:Git版本控制工具的使用

    Git的基本概念:开源的分布式版本管理工具,可以用来跟踪.记录你的代码工作,为个人的开发及团队协作提供便利.它的第一个特点就是跟踪.记录代码.现在介绍Git中的基本概念:仓库:在Git中,我们将需要进 ...

  9. git版本控制工具基本用法讲解(转)

    一.安装Git 在linux系统使用非常方便,只需要打开shell界面,并输入: ? 1 sudo apt-get install git-core 按下回车后输入密码,即可完成Git的安装.但我们可 ...

最新文章

  1. php的 each()用法,PHP each()用法及代码示例
  2. 360极速浏览器使用postman
  3. 在java中goto是意思,关于Java中的goto语句
  4. 【scala】2.控制结构和函数
  5. 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
  6. C++ 面向对象编程
  7. linux 读写大文件内容,linux读写大文件
  8. php 将url转成伪静态,php兑现url伪静态化,全过程详解
  9. SAP MM采购仓储入门视频教程——适合新手入门学习
  10. 中奖名单模板_获奖名单公布模板速来选择
  11. 求长方柱的体积和表面积
  12. 学计算机编程难吗,电脑编程难学吗 如何才能学好电脑编程
  13. hadoop3.x\2.x常用端口,和常用配置文件
  14. 《计算机图形学》实验报告区域填充扫描线算法
  15. CentOS Linux基本命令
  16. python 行列分不清
  17. FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。附文件重命名代码
  18. 既然你装作刀枪不入的样子,那就做好万箭穿心的准备吧!
  19. Hadoop实战视频分享 2013年完整版学习视频种子下载
  20. 一个网络工程师的一天

热门文章

  1. 增强网络口碑营销效果的5个方法
  2. Wps二次开发(POI)
  3. BES LINEIN 讲解
  4. Kotlin+Retrofit + MVVM 的网络请求框架的封装
  5. 图书馆管理系统用户调研
  6. kaggle新手实战教程
  7. 教师计算机培训考勤表,之江汇平台的使用-信息技术培训
  8. MySQL数据库的基本操作-创建(create database)、选择(use)、查看(shows database)、删除(drop database)
  9. 狄拉克函数及其基本性质
  10. css 取偶数节点_css3 nth 选择器