1.版本控制
版本控制的分类:本地版本控制系统
、集中化版本控制系统
、分布式版本控制系统
。
(1)本地版本控制系统
特点:
- 使用软件记录文件的不同版本,提高了工作效率,降低了手动维护版本的出错率
缺点:
- 单机运行,不支持多人协作开发。
- 版本数据库故障后,所有历史更新记录会丢失。
(2)集中化版本控制系统
主要代表: SVN
。
特点:
- 基于服务器、客户端的运行模式
- 服务器保存文件的所有更新记录
- 客户端只保留最新的文件版本
优点:
- 联网运行,支持多人协作开发
缺点:
- 不支持离线提交版本更新
- 中心服务器崩溃后,所有人无法正常工作
(3)分布式版本控制系统
主要代表: Git
特点:
- 基于服务器、客户端的运行模式
- 服务器保存文件的所有更新记录
- 客户端保留的是服务器的完整备份,并不是只保留最新版本
优点:
- 联网运行,支持多人协作开发
- 客户端断网后支持离线本地提交版本更新
- 服务器故障或损坏后,可使用任何一个客户端的备份进行恢复
2.Git
1.Git的概念
Git是一个开源的分布式版本控制系统
,是目前世界上最先进、最流行的版本控制系统。可以快速
高效的处理从很小到很大的项目版本管理。
项目越大越复杂,协同开发者越多,越能体现出Git高性能
和高可用性
。
Git的特性:
- 直接
记录快照
,而非差异比较 - 近乎所有操作都是本地执行
SVN的差异比较:
传统的版本控制系统(例如SVN)是基于差异的版本控制,它们存储的是一组文件和每个文件随时间逐步累计的差异。
- 好处:节省磁盘空间
- 缺点:耗时,效率低
因为在每次切换版本的时候,都需要在基本文件的基础上,应用每个差异,从而生成目标版本对应的文件。
Git的记录快照:
Git快照是在原有文件版本的基础上重新生成一份新的文件,类似备份
。为了效率
,如果文件没有修改,Git不会重新存储该文件,而是只保留一个链接指向之前存储的文件。
- 缺点: 占用磁盘空间大
- 优点: 版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可。
- 特点: 以
空间换时间
(1)Git中的三个区域
工作区
、暂存区
、Git仓库
。
- 工作区: 处理工作的区域
- 暂存区: 已完成的工作的临时存放区域,等待被提交
- Git仓库: 最终的存放区域
(2)Git的三种状态
已修改(modified
)、已暂存(staged
)、已提交(committed
)。
- 已修改(modified): 表示已经修改了文件,但还没将文件放到暂存区
- 已暂存(staged): 表示对修改文件的当前版本做了标记,使之包含在下次提交列表中
- 已提交(committed): 表示文件已经安全的保存在本地的Git仓库中
(3)Git的基本工作流程
在工作区中修改文件->
将想要提交的下次文件更改进行暂存->
提交更新,找到暂存区的文件,将快照永久性存储到Git仓库。
2.Git安装和配置
(1)Git下载官网
https://git-scm.com/downloads
(2)配置用户信息
git config --global user.name "pancc"
git config --global user.email "xxx@qq.com"
- 设置自己的用户名和邮件地址
- Git项目进行版本管理的时候,需要用到这些信息,来记录是谁对项目进行了操作
(3)git全局配置文件
.gitconfig
- 通过全局配置的信息会写入到
.gitconfig
文件中 - 该文件在
C:/User/用户名文件夹/.gitconfig
文件目录下 - 通过.gitconfig文件可以查看自己曾经对Git做了哪些全局的配置
(4)终端检查配置信息
查看所有的全局配置项:
git config --list --global
查看指定的全局配置项:
git config user.name
(5)获取帮助信息
使用git help <verb>
命令,如:
git help config
- 无需联网即可在浏览器中打开帮助手册
如果不想查看完整手册,可以用-h
选项在终端获得更简明的"help
"输出,如:
git config -h