Git--高效的分布式版本控制系统
Git的诞生
Git是由Linus Torvalds(Linux 之父)创建的,诞生于2005年。当时Linux内核项目因社区成员破解BitKeeper协议而失去对该商业软件的免费使用权,Linus因此开发了Git。Git在短短10天内完成基础开发,以其高效、可靠和分布式的特性迅速成为流行的版本控制工具。2008年GitHub的上线进一步推动了Git的普及。
Git简介
Git是一种分布式控制系统(Distributed Version Control System, DVCS),其与传统的差异管理(Delta-based)方法不同,Git 不仅仅存储文件的变更(即差异),还存储着整个项目在特定时间点的完整副本,也就是快照。你的每一次克隆(git clone)操作,都是对当前数据库的一次完整备份。
Git的这一特性意味着:当你不小心删除了整个数据库,而幸运地在你的本地或者开发伙伴那正好克隆了最新的数据库,那么你不需要焦头烂额!因为你可以快速地恢复数据库的内容~
Git提交时,会对修改或者新增文件创建一个新的快照,而对于没有改动的文件仅进行一次链接,以指向原始文件。
正是由于这种机制,你执行的几乎所有Git操作,也只是往Git数据库添加数据,而很难从Git数据库中删除数据。
如下图所示,虚线框表示链接目标文件,实线框表示创建新的快照。代码仓库包括了FileA~C三个文件,V2时,创建了A1和C1快照,而B仅做快照链接(因为它没有任何修改)
Git在存储前均会计算校验和,并通过校验和来引用。校验机制为:SHA-1散列。
Git有三种状态,分别为:
已修改(modified:修改了文件,但还没保存到数据库
已暂存(staged):对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
已提交(committed):数据已经安全地保存在本地数据库
Git有三个区域:
工作区:存放某个版本的拷贝内容;
暂存区(索引区):保存了下次将要提交的文件列表信息
仓库区:保存项目的元数据和对象数据库
Git的三步走工作流程:
拷贝与修改:一个项目版本,形成工作区,在工作区修改文件;
暂存:将当前的一些修改进行暂存,为下一次提交做准备;
提交:提交暂存区文件,形成新的快照,并将快照永久存储到Git仓库;
暂存不是必须的步骤,可以跳过暂存进行提交,但这也许并不是一个好习惯,不是么?
安装与升级
安装
前往:Git ,按照下图所示步骤下载安装
本文在编辑时,Git版本为:2.45.2
点击图标进入下载页面

选择需要的版本,无特殊需求选“1”即可


选择你的安装目录,emmm…,C盘也没什么不好的~

选择一个你常用的编辑器即可,VSCode,为什么不呢?

选择一个默认分支名,此处选择了默认,因为后续可以修改,不是么?

无特殊需求,后续一直默认安装即可

更多安装方式可见:Git-Installing
升级
同安装一样,前往官方下载最新版本Git,进行安装
配置你的Git
Git包括了三种配置文件,分别应用于不同的权限,分别为:
- 系统级:配置字
--system,对所有用户有效, /etc/gitconfig - 用户级:配置字
--global,只针对当前用户,为~/.gitconfig 或 ~/.config/git/config 文件 - 项目级:配置字
--local,只对当前仓库, .git/config
这三种配置选项具有覆盖关系,即:--local覆盖--global及--system,--global覆盖--system。你可以通过git config --list --show-origin查看每一级别的所有配置文件及每个配置文件中具有的配置变量。以下为一些必要的基本配置:
1 | git config --global user.name "你的名字" |
可视化GIT管理
我期望找到的是一款MAC、WINDOWS、LINUX通用的且可免费商用的版本管理工具。
SourceTree



