第一章 起步
2018-12-30 本文已影响10人
行知路
1.1 关于版本控制
1.1.1 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特 定版本修订情况的系统
1.1.2 本地版本控制就是在本地保存某文件的多个版本,通常是通过保存文件的补丁集实现的
1.1.3 集中版本控制就是在保存在本地版本信息保存在某台版本控制服务器上,方便进行权限控制与协调工作
1.1.4 分布式版本控制就是在各用户与版本控制服务器都保留有版本仓库的完整信息,可以在需要同步的时候在进行同步,显著的优点是可在服务器短线的情况下继续工作、版本服务器即使发生严重事故依然坚强如故
1.2 Git简史
在开发Linux项目时使用其他类Git的版本控制系统,后来有人Linux开发人员尝试破解该版本,别人就收回这个版本控制系统的控制权,于是Linux之父就用一周开发出了一个Git的原型,后来逐渐演变成风靡全球的Git。
1.3 Git基础
1.3.1 大部分版本控制系统是通过记录文件各版本之间的差异来实现版本控制的,但是Git是直接记录文件的快照(如何实现?理论上要比前一种方法慢,但实际上却比第一种方法快)
1.3.2 Git的大部分操作都是在本地完成,所以其操作有很高的效率
1.3.3 Git通过SHA-1保持数据的一致性与完整性
1.3.4 Git一般只添加数据,没有加入到暂存区的文件如果被删除的话,那么就不可恢复
1.3.5 Git分为四个区域
- 工作区->暂存区(stage或index)->本地仓库->远程仓库
- 工作区 add 添加至暂存区
- 暂存区 commit 添加至本地仓库
- 本地仓库 push 推送至远程仓库
1.4 命令行
大部分Git的GUI工具提供的是Git完整命令的子集,而命令行却是全集;GUI工具需要与命令行相互补充使用,最好对命令行理解的基础之上,再使用GUI工具。
1.5 安装Git
略(有问题,请问度娘)
1.6 初次运行Git
- Git的配置分为三个级别
- /etc/gitconfig 系统级的配置,通过添加--system的执行git config指令,会设置这个系统级配置;优先级低
- ~/.gitconfig 或 ~/.config/git/config 真对当前用户的配置,使用--global选项;优先级中
- .git/config 中的配置,针对当前仓库;优先级高
- 配置用户信息
# Git的操作需要用户信息,可通过以下指令设置用户名与邮箱,注意其中的--global选项,设置的用户级别的
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
# 因为在使用命令行进行操作的过程中,需要用到文本编辑器,此处设置文本编辑器
$ git config --global core.editor emacs
# 列出当前Git的配置,可能出现多个相同的配置项,因为如上所述,Git有多个配置级别
$ git config --list
# 查看单个配置项
$ git config <key>
# 查看帮助
$ git help config