[读书笔记]Git版本控制

Git版本控制

Git是目前世界上最先进的分布式版本控制系统,它的特点是简单易用、功能强大、速度快。

Git是把整个项目仓库完整的镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

Git基本原理

  1. 直接纪录快照,而非比较差异

    Git只关心文件数据的整体是否变化,而大多数其他系统只关心文件内容的具体差异

  2. 近乎所有操作都是本地执行

  3. 时刻保持数据完整性

    在保存到Git之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识喝索引。如果文件在传输时变的不完整,或者磁盘损坏导致文件数据缺失,Git都能立即察觉。

  4. 多数操作仅添加数据

  5. 文件的3种状态

    • 已提交(committed)
    • 已修改(modified)
    • 已暂存(staged)
基本的Git工作流程如下:
  1. 在工作目录中修改某些文件
  2. 对修改后的文件进行快照,然后保存到暂存区域
  3. 提交更新,将保存在暂存区域的文件快照永久转储到Git目录中

Git基本配置

文件 作用
/etc/gitconfig 系统中对所有用户都普遍适应的配置。若使用git config时用–system选项,读写的就是这个文件
~/.gitconfig 用户目录下的配置文件只适用于该用户。若使用git config时用–globel选项,读写的就是这个文件
当前项目下的.git/config 该配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config里的配置会覆盖/etc/gitconfig中的同名变量

第一个要配置的就是个人的用户名和电子邮件地址:

git config --global user.name "your name"
git config --global user.email yourname@example.com

接下来设置的是默认的文本编辑器。

git config --global core.editor emacs

还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用vimdiff的话

git config --plobal merge.tool vimdiff

要检查已有的配置信息,可以使用git config –list命令:git config -list

另外,还有一些比较重要的配置就是高亮显示,通过如下几条命令开启一些高亮显示:

git config --global color.status auto   #查看状态时高亮显示
git config --global color.branch auto   #分支名高亮
git config --global color.ui auto       #自动高亮

最后一个可以提升你效率的配置就是命令的别名配置

git config --global alias.新名字原始命令

例如,将checkout设置为co的命令为:

git config --global alias.co checkout

你可能感兴趣的:(git)