文章目录
1.前言
用过一段时间的git,但玩的不是很溜,为了适应新工作的要求,所以打算再学一学。
推荐2个教程,本文所记录的知识点大部分来自这2个博客:
廖雪峰的git教程;
阮一峰的git教程;
2.Git基础工作流程
该图涵盖git的基本结构;
-
工作区
即我们想进行版本控制的本地目录。 -
版本库
基于工作区进行版本管理,即我们平时项目目录下的那个隐藏的.git文件夹。里边记录了很多关于版本管理的信息。主要包括暂存区和分支。 -
暂存区,stage
一般我们从本地工作区提交到仓库都是先add再commit到对应分支,如果要推到远程仓库还需要push,这个暂存区的主要意义在于多一次撤销缓冲,等暂存区稳定了之后一波commit,相当于是git安全性的一种手段吧。 -
分支,master
一般我们初始化了一个版本库时,Git默认为我们创建一个主干分支,即master分支。 -
Head指针
Head指针指向哪个分支就表示当前处于哪个分支。
3.Git好在哪?
Git是一个开源的分布式版本控制系统(SVN是非分布式的),关键词,分布式;
先不着急说什么是分布式,先看看svn这种集中式的版本管理有什么缺陷;
集中式的版本控制,有个严重的缺陷。就是中央服务器的单点故障。如果服务宕机一个小时,在这期间,没有任何人可以在正在工作的版本上很好的合作或者去保存某一个版本的改变。另外如果中央数据库的磁盘坏了,并且可能没有保存备份,那么将丢失所有的东西。你失去了绝对一切 - 除了单一的任何人的快照恰好有在本地计算机上项目的整个历史。当然本地的版本控制系统也有相同的问题。虽