Git版本控制软件从入门到精通学习手册

Git版本控制软件从入门到精通学习手册

 

GIT 学习手册简介

本站为 Git 学习参考手册。目的是为学习与记忆 Git 使用中最重要、最普遍的命令提供快速翻阅。 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以及参数。

 

一、获取与创建项目

在学习和使用git之前,我们得先了解一下git的一些概念,在了解了这些概念和关系之后,对于后面的学习至关重要!

Git版本控制软件从入门到精通学习手册

上面展示的是git的几个关键的专用名词,以及6个常见命令。

请务必理解这几者之间的作用和关系!!然后,我们开始学习之路~

仓库是 Git 存放你要保存的快照的数据的地方。你得先有一个 Git 仓库,才能用它进行操作。

拥有一个 Git 仓库的途径有两种。在已有的目录中,初始化一个新的,其一。 比如一个新的项目,或者一个已存在的项目,但该项目尚未有版本控制。如果你想要复制一份别人的项目, 或者与别人合作某个项目,也可以从一个公开的 Git 仓库克隆,其二。本章将对两者都做介绍。

 

1.Git使用前配置

如果设置了,在输入命令示界面可以很方便的使用复制和粘贴(用左键选取要复制的,点右键直接就可以复制,粘贴时只需点一下右键。)设置方法:Git Bash快捷图标(桌面图标)右键属性-选项,把快速编辑模式勾上就可以,如下图:

Git版本控制软件从入门到精通学习手册

 

2.设置Git本地项目开发库默认路径

如果设置了,就不用每次打开Git再cd打开目录了。方法:右键Git Bash快捷图标(桌面图标)属性,找到快捷方式-起始位置,把你的项目地址放在这里就可以了。如下图:

Git版本控制软件从入门到精通学习手册

 

3.配置本地用户和邮箱

用户名邮箱作用 : 我们需要设置一个用户名 和 邮箱, 这是用来上传本地仓库到GitHub中,在GitHub中显示代码上传者。它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
使用命令 :

Git版本控制软件从入门到精通学习手册

到此Git客户端已安装及GitHub配置完成,现在可以从GitHub传输代码了。

 

4.git init 将一个目录初始化为 Git 仓库

在目录中执行 ,就可以创建一个 Git 仓库了。比如,我们恰好有个目录,里头有些许文件,如下:

在这个项目里头,我们会用各种编程语言写 “Hello World” 实例。 到目前为止,我们只有 Ruby 的,不过,这才刚上路嘛。为了开始用 Git 对这个项目作版本控制,我们执行一下 

现在你可以看到在你的项目目录中有个  的子目录。 这就是你的 Git 仓库了,所有有关你的此项目的快照数据都存放在这里。

恭喜,现在你就有了一个 Git 仓库的架子,可以开始快照你的项目了。

简而言之,用  来在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。

 

5.git clone 复制一个 Git 仓库,以上下其手

如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。 执行 ,[url] 为你想要复制的项目,就可以了。

上述操作将复制该项目的全部记录,让你本地拥有这些。并且该操作将拷贝该项目的主分支, 使你能够查看代码,或编辑、修改。进到该目录中,你会看到  子目录。 所有的项目数据都存在那里。

默认情况下,Git 会按照你提供的 URL 所指示的项目的名称创建你的本地项目目录。 通常就是该 URL 最后一个  之后的任何东西。如果你想要一个不一样的名字, 你可以在该命令后加上它,就在那个 URL 后面。

简而言之,使用  拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。

 

二、基本快照

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。本章将对有关创建与提交你的项目的快照的命令作介绍。

这里有个重要的概念,Git 有一个叫做“索引”的东东,有点像是你的快照的缓存区。这就使你能够从更改的文件中创建出一系列组织良好的快照,而不是一次提交所有的更改。

简而言之,使用  添加需要追踪的新文件和待提交的更改, 然后使用  和  查看有何改动, 最后用  将你的快照记录。这就是你要用的基本流程,绝大部分时候都是这样的。

 

1.git add 添加文件到缓存

在 Git 中,在提交你修改的文件之前,你需要把它们添加到缓存。如果该文件是新创建的,你可以执行  将该文件添加到缓存,但是,即使该文件已经被追踪了 —— 也就是说,曾经提交过了 —— 你仍然需要执行 git add 将新更改的文件添加到缓存去。让我们看几个例子:

回到我们的 Hello World 示例,初始化该项目之后,我们就要用  将我们的文件添加进去了。 我们可以用  看看我们的项目的当前状态。

我们有俩尚未被追踪的文件,得添加一下。

现在我们再执行 ,就可以看到这俩文件已经加上去了。

新项目中,添加所有文件很普遍,可以在当前工作目录执行命令:。 因为 Git 会递归地将你执行命令时所在的目录中的所有文件添加上去,所以如果你将当前的工作目录作为参数, 它就会追踪那儿的所有文件了。如此, 就和  有一样的效果。 此外,效果一致的还有 ,不过那只是因为我们这还木有子目录,不需要递归地添加新文件。

好了,现在我们改个文件,再跑一下 ,有点古怪。

“AM” 状态的意思是,这个文件在我们将它添加到缓存之后又有改动。这意味着如果我们现在提交快照, 我们记录的将是上次跑  的时候的文件版本,而不是现在在磁盘中的这个。 Git 并不认为磁盘中的文件与你想快照的文件必须是一致的 —— (如果你需要它们一致,)得用  命令告诉它。

一言以蔽之, 当你要将你的修改包含在即将提交的快照里的时候,执行 。 任何你没有添加的改动都不会被包含在内 —— 这意味着你可以比绝大多数其他源代码版本控制系统更精确地归置你的快照。

请查看《Pro Git》中  的 “-p” 参数,以了解更多关于提交文件的灵活性的例子。

 

2.git status 查看你的文件在工作目录与缓存的状态

正如你在  小节中所看到的,你可以执行  命令查看你的代码在缓存与当前工作目录的状态。我演示该命令的时候加了  参数,以获得简短的结果输出。 若没有这个标记,命令  将告诉你更多的提示与上下文欣喜。 以下便是同样状态下,有跟没有  参数的输出对比。简短的输出如下:

而同样的状态,详细的输出看起来是这样的:

你很容易发现简短的输出看起来很紧凑。而详细输出则很有帮助,提示你可以用何种命令完成你接下来可能要做的事情。

Git 还会告诉你在你上次提交之后,有哪些文件被删除、修改或者存入缓存了。

你可以看到,在简短输出中,有两栏。第一栏是缓存的,第二栏则是工作目录的。 所以假设你临时提交了 README 文件,然后又改了些,并且没有执行 ,你会看到这个:

一言以蔽之,执行  以查看在你上次提交之后有啥被修改或者临时提交了, 从而决定自己是否需要提交一次快照,同时也能知道有什么改变被记录进去了。

 

3.git diff 显示已写入缓存与已修改但尚未写入缓存的改动的区别

 有两个主要的应用场景。我们将在此介绍其一, 在 检阅与对照 一章中,我们将介绍其二。 我们这里介绍的方式是用此命令描述已临时提交的或者已修改但尚未提交的改动。

git diff #尚未缓存的改动

如果没有其他参数, 会以规范化的 diff 格式(一个补丁)显示自从你上次提交快照之后尚未缓存的所有更改。

所以,显示你上次提交更新至后所更改或者写入缓存的改动, 而  一行一行地显示这些改动具体是啥。 通常执行完  之后接着跑一下  是个好习惯。

git diff –cached #查看已缓存的改动

 命令会告诉你有哪些内容已经写入缓存了。 也就是说,此命令显示的是接下来要写入快照的内容。所以,如果你将上述示例中的  写入缓存,因为 显示的是尚未缓存的改动,所以在此执行它不会显示任何信息。

来源:李某龙

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年2月1日
下一篇 2019年2月1日

相关推荐