您的位置:首页 > 其它

Git学习笔记(一)

2015-09-27 17:17 357 查看

版本控制简介

版本控制是为了记录一个或一组文件内容变化的过程,以便可以对文件版本进行记录和订阅。

版本控制经历了几个阶段的发展过程:

1. 本地版本控制系统

本地版本控制系统一般采用某种简易的数据库来记录。最早的本地版本控制如rcs(没接触过),原理是保存管理文件补丁(一种格式的文件,记录文件修改前后内容变化)。rcs可以根据文件不断计算文件各个版本的内容。



2. 集中化版本控制系统

如cvs,svn,主要是为了支持不同系统上的协同办公。Centralizde Version Control Systems,CVCS。利用单一的集中管理的服务器,保存文件修改的版本和过程。



缺点是集中服务器宕机后,无法正常使用。

3. 分布式版本控制系统

为了解决集中版本控制系统的问题,分布式版本控制系统应运而生。它在每个机器上都保存了一个代码仓库的完成镜像,可以先在本地不断的进行提交操作,最终推送到远端服务器代码仓库中。每一次pull操作,应该都是对代码仓库的完整备份。



Git基础

git原理

git的思想是,只记录文件数据的整体是否发生变化,而其他系统多关心文件内容的具体差异。非git系统中,记录每次文件都有哪些更新,例如代码更新了哪些行,内容产生了哪些变化等等。



而git则不保存前后变化的差异数据。git将变化的文件进行快照,存放在一个微型文件系统中。每次更新时,它会浏览所有文件指纹信息,对文件做快照,保存指向这次快照的的索引。如果文件没有变换,保存上一次的快照链接。(理解就是,每次新增提交,会存到文件系统中,如果变换了,会继续新增文件,git针对不同版本每个文件指向不同的索引快照)。



git的操作都可以提交到本地仓库,可以在脱离网络的环境下进行操作。

git对每个文件进行hash计算来保存数据的完整性。

Git文件状态

在Git中,文件有三种状态

已提交(committed)

文件已经保存到本地的仓库中了

已修改(modified)

文件已经修改,但是还没有提及保存

已暂存(stagetd)

已修改的文件放在了下次提交时要保存的清单中



在每个git存放的项目中,都有一个Git目录,.git目录,在项目根路径下,是Git用来保存元数据和对象数据库的地方。克隆镜像仓库时拷贝的就是这个目录里面的数据。

工作目录就是存放某个版本的所有文件和目录,用以开展后续工作。

暂存区,是个简单的文件,在Git目录下,标准说法是暂存区域。

Git工作流程

工作目录下修改某些文件

修改后的文件进行快照,存放在暂存区域

提交更新,将保存在暂存区域的文件快照永久存储到Git目录下。

Git安装

在windows下,安装git可以通过msysGit进行安装。

Git配置

在命令行下,可以通过git –config进行git配置。在windows系统中,git配置文件在主目录下.gitconfig文件。

查看配置信息命令

git config –list



每个项目的配置文件在工作目录下的

.git文件夹下的conf文件夹
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息