Git简明教程

为什么会有本文?

很久以前,在我刚刚接触计算机的时候,就非常贪心,想把自己所有的文件保存下来,为了以后会“用得到”。后来有了网盘之类的东西,但是我不满足于仅仅保存一个文件。对其中的同步逻辑不明白,怕把文件同步成了不想要的版本。在我认识了Git之后,这个问题得到了完美的解决。

Git是一个版本控制的工具,是林纳斯开发,用于开发过程中项目的版本控制的一个工具。他能记录下项目的每一个提交,提交之间的变更。你可以随意的查看项目的每一次版本。还支持多人开发, 每个人的提交都一目了然。这样一个好东西也可以用来管理自己的文档,例如写一个word,或者一个ppt,将他变成一个项目,记录下项目的每一个进度,使自己的工作更加清晰明了。

有关于Git的教程,网络上已经有很多了。本文只会介绍Git,说明Git的功能,常用的命令,然后提供更多更详细的教程的链接,避免造轮子。

Why Git?

首先,Git的读音是|git|,汉字类似于“各异特”,不是“吉特”。

版本控制工具不仅仅只有Git,像流行的还有CVS,SVN等。但是这两个是“集中式版本控制系统”。而Git是一个“分布式版本控制系统”。有什么区别呢?集中式要求版本控制存放在一个服务器上,每一次工作都需要从服务器上拉取版本来进行工作。而分布式是在每一个用户的终端上都保存有一个版本仓库,不同的开发者之间可以用pull和push操作进行同步,也可以向主服务器进行同步。那么优势就很明显了——每个用户都有一个独立的版本库,拥有完全的权限,不用联网就可以工作。此外,Git还有快速,省心,可退回任意版本等优点,所以它是目前最流行的版本控制工具。

安装Git

Git始于Linux,但是不止于Linux,已经有人将它移植到了windows,现在Git支持Linux,Mac和Windows等主流平台。

在Linux或者Mac的终端下,可以使用brew等工具进行安装。在windows下,需要Cygwin这样的模拟环境,但是有人将它封装好了,这个工具叫做msysgit,只要从http://msysgit.github.io/下载,然后默认安装就好了。

第一个仓库

创建一个Git仓库非常简单。首先,进入到一个空目录,然后对项目进行初始化就可以了。但是由于我们是第一次操作,所以需要对Git进行一些初始化的动作。

多人协作的时候,是靠邮件来识别提交者的。在Github,不管你的用户名是什么,只根据邮箱来匹配提交者,亲测。所以邮箱一定要设定成自己的,否则你的工作成果就要打上别人的名字啦!

这样,第一个项目——myGit就建立好了。

在本地的操作

你可以理解为,Git的工作目录和版本库是在一起的。在本地有一个.git文件,保存了你的提交历史。那么,在本地进行的操作如何提交呢?

首先,要理解暂存区的概念。简单来说,暂存区是介于工作区和版本库之间的存在。在本地的操作需要添加到暂存区,用commit命令提交的时候,会将暂存区的内容提交到版本库。当然了,版本库,暂存区,和工作区之间可以进行同步。

工作区的文件如果没有被追踪,是不能提交的,首先,将工作区的内容添加到暂存区:

也可以add所有文件加入到暂存区,然后一次提交。但是非常不推荐这样做,因为这会使版本库乱掉,版本控制就失去了他的意义。

每一个提交都要有一个说明,在查阅的时候以便得知每一次提交做的是什么。

查看此时的工作区状态命令:

其中,-s参数是显示精简信息,在显示的信息中,每一个工作区有改动的文件前面都会有两个字母:

  • ??——新文件没有被追踪;
  • 空M——这个文件的修改没有被追踪;
  • A空——有一个新文件被追踪还没有被添加;
  • M空——有一个文件修改,已经被追踪,没有被添加。

被追踪即是添加到工作区。

还可以查看提交记录:

第二行可以用图表的形式查看。

回退到上一个版本:

 For more infomation:

结语,这么快就结束了吗?哈哈,没有。相信你对版本控制已经有一个印象了吧?接下来的远程操作部分,已经有关git更多更方便的操作,我会提供一些好博主的链接供参考。

学会Git之后,你就可以轻松的管理你的项目了。将来,你可以把你所有的东西变成项目——你写的博客是项目,论文是一个项目,做的作业时一个项目。这样之后,可以纵览项目的进程,变化,发展,整个人生也可以看做一个项目。



Leave a comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注