1.1 仓库与快照
Git 是一个版本控制系统(version control system)。它帮助你记录项目在不同时间点的状态,并让你可以比较、回看、撤销或合并这些状态。
为什么不是手动复制文件夹?
很多初学者会用 project-v1、project-final、project-final-new 这样的文件夹保存版本。这个方法很快会失控:你不知道每个版本改了什么,也很难把两个人的修改合在一起。
Git 的思路不同。它把一次值得保存的项目状态记录为提交(commit)。每个提交都有一个编号、一个说明和它指向的上一个提交。
仓库是什么?
仓库(repository)是 Git 保存历史数据的地方。一个项目开启 Git 后,项目目录里会出现隐藏目录 .git,它保存提交对象、分支、配置和索引等信息。
注意
不要手动修改
.git 目录。正常学习和工作时,应该通过 git status、git add、git commit 等命令操作仓库。快照不是只保存差异
你可以先把提交理解成一次快照(snapshot):它代表项目在某一刻的完整状态。Git 内部会做压缩和复用,但学习时不需要先纠结底层存储细节。
正在加载概念检查...
第一个最小仓库
bash
mkdir hello-git
cd hello-git
git init执行 git init 后,这个文件夹就变成了一个 Git 仓库。此时你还没有任何提交,只是告诉 Git:“请从这里开始跟踪这个项目。”
学习 Git 的核心地图
接下来你会反复遇到三个区域:
- 工作区(working tree):你正在编辑的真实文件。
- 暂存区(staging area / index):下一次提交前的候选清单。
- 仓库历史(repository history):已经保存下来的提交链。
理解这三个区域,比死记命令更重要。