分类
Git

Git基础(一)Git概述

Git基础

为什么要使用Git?

试想一下你(或你的团队)正在维护一个较大的项目,项目代码每天都有很多的修改(当然,有时候这也可能不只是因为甲方不停地修改需求)。有一天,你突然发生了以下几种情况:
– 不小心删除了某文件或者某部分代码
– 发现之前的某个版本的某部分代码可以拿来给当前版本用
– 发现自己修bug结果却修出了更多bug,你想要撤回自己的操作

当然,也许可以通过每次一更改就保存一个备份来解决这些问题(或者通过脑子记下来,但这并不推荐),这样显然会造成冗余——特别是当修改操作特别频繁或项目文件特别庞大的时候,十分浪费宝贵的硬盘空间。
我们所能想到的最好的方式就是保存更改过的所有文件的版本——只需要知道每次修改的部分是哪个文件(并且通过文件比对知道改了什么)就好了。这就是我们为什么要使用Git。
请注意,我是说,Git并不是存储的增量(例如记录小A今天加了一句话或者删了一句话,事实上如果这样子做反而很麻烦),而是如果这个文件改过了,直接将这个文件全部保存一份。当然,对于没有更改过的文件,就记录一个指针指向没改过的原来的那个文件就好了(这样来达成一个效率上的优势)。

Git的诞生

回想当年社区共同维护Linux的时候,Linus本人在很长一段时间内都是将开发者贡献的代码手动添加到Linux源码中(是的,这听起来一点都不像Linus)。直到后来,Linus花了2周时间用C写了个工具来管理项目源代码——这就是Git的诞生。

基本概念

  • 工作区: 一般就是本地项目文件目录
  • 暂存区(stage/index): 暂时存放文件的地方,一般存放在 “.git目录下” 下的index文件(.git/index)中
  • 版本库: 工作区下的隐藏目录.git

简单地描述Git的工作原理:

工作区是我们直接编辑修改的地方
每当我们想形成一个新版本(修复了若干bug)的时候,就可以将修改了的文件先放到缓存区,然后一起提交。(因为我们想要所有这些修改构成一次版本的更新,而不是n次,所以先一起存起来)
最后一起将缓存区的文件更新到版本库,生成一个船新版本
如果想要回退到某个版本,只需要到版本库中找到对应的版本并替换工作区的文件就好了

安装Git

如果你是Windows用户,你可以到Git官网上下载最新版本的Git或者到Github上下载源代码并编译
如果你是Linux/Mac OS用户,我相信你应该会自己安装
对于以上三种系统的用户的安装教程,可以参考这篇Git安装教程
安装完成后,运行Git Bash
对于Windows用户,打开Git Bash后,会出现一个黑洞洞的命令行窗口,这就是Git
随后,对于所有系统的用户,启动了Git后,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

这里的$是命令提示符,将Your Name和email@example.com替换成你自己的用户名和邮箱。
毕竟要考虑到,多人协作时,要能够追溯出这个新(b)功(u)能(g)是谁写出来的吧,所以需要一个用户名来标识你自己。