Git简介

前言

什么是Git

Git是目前世界上最先进的分布式版本控制系统(没有之一)。  Git 是一个开源的分布式版本控制软件,用以有效、 高速的处理从很小到非常大的项目版本管理。  Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。 Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件

Git和Linux的开发者是同一人

版本控制

版本控制最主要的功能就是追踪文件的变更。 它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。 每一次文件的改变,文件的版本号都将增加。 除了记录版本变更外,版本控制的另一个重要功能是并行开发。 软件开发 往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。 并行开发中最常见的不同版本软件的错误 (Bug)修正问题也可以通过版本控制中分支与合并的方法有效地解决。 具体来说,在每一项开发任务中,都需要首先设定开发基线,确定各个配置项的开发初始版本,在开发过程中, 开发人员基于开发基线的版本,开发出所需的目标版本

本地版本控制系统

好处:简单

坏处:容易犯错,有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想外的文件

集中化版本控制系统

好处:每个人都可以在一定程度上看到项目中的其他人正在做些什么。 而管理员也可以轻松掌控每个开发者的权限

坏处: 要是服务器宕机了那么所有人都不能提交或者拉取, 要是硬盘损坏了又没有备份,那么所提交的数据什么的全完了, 本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置, 就有丢失所有历史更新记录的风险

分布式版本控制系统

分布式版本控制系统(Distributed Version Control System, DVCS)。 在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs等, 客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份

Win系统安装Git

Git最开始是在Linux系统上运行的,很长一段时间内也只能在Linux系统上运行,后来才有人把它慢慢的移动到Windows系统上

Windows系统上使用Git得先从官网上下载安装程序

官网:https://git-scm.com

安装完成之后在DOS(win+r,输入cmd)窗口输入git,如果出现以下界面表示安装成功

可以右键选择Git Bash Here运行Git

在Git窗口输入

1
git --version

来查看Git当前版本

配置Git

因为提交代码要确认是谁提交的,什么人在什么时间段干了什么事。

1
2
3
git config --global user.name '里面输入你的名字'
git config --global user.email '里面输入你的邮箱'
git config --list 查看所有配置

注意: git config 命令的 –global 参数,用了这个参数,表示你这台机器上的所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和email地址

理解Git文件的三种状态与工作模式

使用Git操作文件时,文件的状态有以下三种

单位 描述
已提交 (committed) 表示数据已经保存在本地的数据库中
已修改 (modified) 表示修改了文件,但还没有保存到数据库中
已暂存 (staged) 表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中

针对Git文件的三种状态

分类 描述
工作区 简单的理解为在电脑能看到的目录,比如自己创建的本地项目目录
暂存区 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git自动创建的一个分支master,以及指向master的一个指针叫HEAD
Git仓库 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本等

Git工作原理

  1. 在工作区修改了某些文件
  2. 对修改后的文件进行快照
  3. 提交更新,将保存在暂存区的文件快照永久储存到Git仓库中