一、版本控制
版本控制记录一个或者多个文件的内容变化,以便以后设计的回溯。
1、本地版本控制
最简单的版本控制就是复制整个设计的目录,以时间区分。这样方式虽然简单,但也容易发生错误,导致不可逆的操作。
为解决简单复制易出错的问题,本地版本控制发展出了使用数据库记录的形式。
2、集中式版本控制
集中式版本控制可以实现多人协作,使用集中管理的服务器。每个人从服务器取出最新的文件,或向服务器提交更新。
3、分布式版本控制
分布式版本控制不同于集中式的方面是,每个人都是原始服务器的镜像,可以脱离单点服务器的限制。
二、Git
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git百度百科
1、Git基本原理
Git与多数版本控制工具原理不同。
多数版本控制工具记录各版本之间的差异△file,其存储的文件是:一个基本文件和基于这个基本文件的差异集△files。
Git直接记录文件快照,相当于每个版本都会把文件复制一遍,不同于普通复制的地方是使用了高效的指针。若某个文件没有发生更改,该文件不会被复制一遍,只是指向该文件的指针复制。
Git这种方式直接导致了其分支控制的方便。
2、Git文件状态
使用Git进行版本控制的文件有三种状态:已提交(commited)、已修改(modified)、已暂存(staged)。
已提交,表示该文件已经被存到本地数据库中,处于安全状态。
已修改,表示该文件已经被更改,但未进入本地数据库中。
已暂存,表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
三种不同状态的文件存储在Git不同的工作空间中,Git分为三个工作空间:Git仓库(git directory)、工作目录(working directory)、暂存区(staging area)。
Git仓库为本地数据库,其中存放项目文件的各版本快照。
工作目录是电脑硬盘中当前项目所在目录,其中存放项目某个版本的文件,供设计人员修改。
暂存区用于存放下次将提交的文件内容 。
例如,使用Git 对项目A进行版本控制,供存储了其1.0、2.0、3.0三个版本的内容。设计人员对2.0版本的某项功能不满意,对其中一个文件“helloworld.c“做了修改。那么项目A的1.0、2.0、3.0三个版本的所有文件都存储在Git仓库中,而当前正在修改的2.0版本所在的目录就是工作目录,修改好的文件”helloworld.c“则需要加入到暂存区,以下次提交。
Git的工作流程为:新建文件或从Git仓库取出文件到工作目录;修改工作目录下的文件;暂存文件;提交更新到Git仓库。
3、Git安装和初次配置
Mac下安装Git比较简单,打开终端(Terminal)输入git,按照提示安装。
安装好后在终端输入 git --version ,出现 git --version x.x.x 就安装成功。
初次配置如下:
git config --global user.name "自己名字"
git config --global user.email "自己邮箱"
配置完后输入 git config --list ,查看配置信息。