您的位置:首页 > 其它

Git入门

2015-12-10 23:03 323 查看

简介

Git 是 一个开源的分布式版本控制工具,它的开发者就是鼎鼎大名的Linux 操作系统的作者Linus Torvalds。Git 被开发出来的初衷本是为了更好地管理Linux 内核,而现在却早已被广泛应用于全球各种大中小型的项目中。下面主要讲解一下它最基本的用法,首先就从安装Git 开始。

安装Git

由于Git 和Linux 操作系统都是同一个作者,Git 在Linux上的安装是最简单方便的。比如你使用的是Ubuntu 系统,只需要打开shell 界面,并输入:

sudo apt-get install git-core

按下回车后输入密码,即可完成Git 的安装。

不过大部分用户更有可能使用的还是Windows 操作系统,接下来就说说如何在Windows 上安装Git。不同于Linux,Windows 上无法通过一行命令就完成安装,我们需要先把Git 的安装包下载下来。访问网址http://msysgit.github.io/,下载最新版本,一路“next”完成安装。

创建代码仓库

虽然在Windows 上安装的Git 是可以在图形界面上进行操作的,但是这里我并不建议你使用这一功能,因为Git 的各种命令才是你应该掌握的核心技能,并且不管你是在哪个操作系统中,使用命令来操作Git 肯定都是通用的。

打开Git Bash

首先应该配置一下你的身份,这样在提交代码的时候Git 就可以知道是谁提交的了,命令如下所示:

git config –global user.name “shiquan”

git config –global user.email “shiquan@sq.com”



配置完成后你还可以使用同样的命令来查看是否配置成功,只需要将最后的名字和邮箱地址去掉即可。

然后我们就可以开始创建代码仓库了,仓库(Repository)是用于保存版本管理所需信息的地方,所有本地提交的代码都会被提交到代码仓库中,如果有需要还可以再推送到远程仓库中。

这里假设我们有一个名为project_abc的项目, 为该项目建立一个代码仓库。先进入到project_abc项目的目录下面,然后在这个目录下面输入如下命令:

git init



只需要一行命令就可以完成创建代码仓库的操作。

仓库创建完成后,会在project_abc项目的根目录下生成一个隐藏的.git文件夹,这个文件夹就是用来记录本地所有的Git 操作的,可以通过ls -al 命令来查看一下的



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

提交本地代码

代码仓库建立完之后就可以提交代码了,其实提交代码的方法也非常简单,只需要使用add 和commit 命令就可以了。add 是用于把想要提交的代码先添加进来,而commit 则是真正地去执行提交操作。比如我们想添加a.txt 文件,就可以输入如下命令:

git add a.txt

这是添加单个文件的方法,那如果我们想添加某个目录呢?其实只需要在add 后面加上目录名就可以了。比如将整个src 目录下的所有文件都进行添加,就可以输入如下命令:

git add abc

可是这样一个个地添加感觉还是有些复杂,有没有什么办法可以一次性就把所有的文件都添加好呢?当然可以,只需要在add 的后面加上一个点,就表示添加所有的文件了,命令如下所示:

git add .

现在project_abc项目下所有的文件都已经添加好了,我们可以来提交一下了,输入如下命令:

git commit -m “First commit.”

注意在commit 命令的后面我们一定要通过-m参数来加上提交的描述信息,没有描述信息的提交被认为是不合法的。

这样所有的代码就已经成功提交了!

常用操作

忽略文件

代码仓库创建好了以后,我们应该去提交项目中的代码。不过在提交之前你也许应该思考一下,是不是所有的文件都需要加入到版本控制当中呢?

例如在Android 项目结构中,bin 目录和gen 目录下的文件都是会自

动生成的,我们不应该将这部分文件添加到版本控制当中,否则有可能会对文件的自动生成造成影响,那么如何才能实现这样的效果呢?

Git 提供了一种可配性很强的机制来允许用户将指定的文件或目录排除在版本控制之外,它会检查代码仓库的根目录下是否存在一个名为.gitignore 的文件,如果存在的话就去一行行读取这个文件中的内容,并把每一行指定的文件或目录排除在版本控制之外。

注意:.gitignore 中指定的文件或目录是可以使用“*”通配符的。

现在,我们在project_abc项目的根目录下创建一个名为.gitignore 的文件,然后编辑这个文件中的内容

创建.gitignore文件的方法

cd切换到project_abc项目目录下,输入如下命令:

touch .gitignore



然后使用vim命令打开



执行后



添加内容



这样就表示把abc 目录下的所有文件都忽略掉,从而使用得它们不会加入到版本控制当中。

排除了abc目录以后,我们就可以提交代码了,先使用add 命令将所有的文件进行添加,如下所示:

git add .



然后执行commit 命令完成提交,如下所示:

git commit -m “First commit.”



查看修改内容

修改之前先查看文件修改情况,方法非常简单,只需要使用status 命令就可以了,在项目的根目录下输入如下命令:

git status



为了演示需要,我修改了“a.txt“

Git会 提醒我们a.txt 这个文件已经发生了更改,那么如何才能看到

更改的内容呢?这就需要借助diff 命令了,用法如下所示:

git diff



这样可以查看到所有文件的更改内容,如果你只想查看a.txt 这个文件的更改内容,可以使用如下命令:

git diff a.txt



其中,减号代表删除的部分,加号代表添加的部分。

撤销未提交的修改

有的时候我们代码可能会写得过于草率,以至于原本正常的功能,结果反倒被我们改出了问题。遇到这种情况时也不用着急,因为只要代码还未提交,所有修改的内容都是可以撤销的。比如在上一小节中我们修改了a.txt ,现在如果想要撤销这个修改就可以使用checkout 命令,用法如下所示:

git checkout a.txt



执行了这个命令之后,我们对a.txt 这个文件所做的一切修改就应该都被撤销了。重新运行git status 命令检查一下



可以看到,当前项目中没有任何可提交的文件,说明撤销操作确实是成功了。不过这种撤销方式只适用于那些还没有执行过add 命令的文件,如果某个文件已经被添加过了,这种方式就无法撤销其更改的内容,我们来做个试验瞧一瞧。

首先仍然是将a.txt 增加一行内容”aaabbbccc“,然后输入如下命令:

git add .

这样就把所有修改的文件都进行了添加,可以输入git status 来检查一下



现在我们再执行一遍checkout 命令,你会发现a.txt 仍然是处于添加状态,所修改的内容无法撤销掉。

我们应该先对其取消添加,然后才可以撤回提交。取消添加使用的是reset 命令,用法如下所示:

git reset HEAD a.txt

然后再运行一遍git status 命令,你就会发现a.txt 这个文件重新变回了未添加状态,此时就可以使用checkout 命令来将修改的内容进行撤销了。

查看提交记录

当项目开发了几个月之后,我们可能已经执行过上百次的提交操作了,这个时候估计你早就已经忘记每次提交都修改了哪些内容。不过没关系,忠实的Git 一直都帮我们清清楚楚地记录着!可以使用log 命令查看历史提交信息,用法如下所示:

git log



由于目前我们只执行过一次提交,所以能看到的信息很少

当提交记录非常多的时候,如果我们只想查看其中一条记录,可以在命令中指定该记录的id,并加上-1 参数表示我们只想看到一行记录,如下所示:

git log ce925d55684e9c538fe6c400b7645f4af387a072 -1

而如果想要查看这条提交记录具体修改了什么内容,可以在命令中加入-p 参数,命令如下:

git log ce925d55684e9c538fe6c400b7645f4af387a072 -1 –p



其中减号代表删除的部分,加号代表添加的部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: