用Git进行版本控制
1. 什么是版本控制?
1.1 版本控制的定义
版本控制:是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。
三大最热门的版本控制系统:Git,Subversion,Mercurial
版本控制系统模型:
- 集中式模型-所有用户都连接到一个中央的主仓库(master repository)
- 分布式模型-每个用户都在自己的计算机上拥有完整的仓库
小结:版本控制系统的主要目的是帮助保留项目的详细历史记录,并且能够在不同的版本上进行工作。
1.2 Git和版本控制术语
版本控制系统/源代码管理器
版本控制系统(简称VCS)是一个管理源代码不同的工具。源代码管理器(简称SCM)是版本控制系统的别称。
提交(Commit)
Git将数据看做微型文件系统的一组快照。每次commit(在Git中保持项目状态),它都会对文件当时的状况拍照,并存储对该快照的引用。
仓库(Repository/repo)
仓库是一个包含项目内容以及几个文件的目录,用来与Git进行通信。仓库可以存储在本地,或作为远程副本存储在其他计算机上。仓库是由commit构成的。
工作目录/工作区(Working Directory)
工作目录是在计算机的文件系统中看到的文件。与这些文件形成对比的是保持在仓库中(在commit中!)的文件。
在使用Git时,工作目录与命令行工具的current working directory(当前工作目录)不一样,后者是shell当前正在查看的目录。
检出(Check out)
检出是指将仓库中的内容复制到工作目录下。
暂存区/暂存索引/索引(Staging Area/Staging Index/Index)
Git目录下的一个文件,存储的是即将进入下个commit内容的信息。可以将暂存区看做准备工作台,Git将在此区域获取下个commit。暂存索引中的文件是准备添加到仓库中的文件。
SHA
SHA的全称是“Secure Hash Algorithm”(安全哈希算法),它是一个长40个字符的字符串(由0-9和a-f组成),并根据Git中的文件或目录结构的内容计算得出。
分支(Branch)
分支是从主开发流程中分支出来的新的开发流程。这种分支开发流程可以在不更改主流程的情况下继续延伸下去。
1.3 Git设置步骤
初次配置Git
#设置你的Git用户名
git config --global user.name "