第 2 课:仓库初始化与第一次提交
本课目标:
- 用
git init初始化一个 Git 仓库。- 用
git config告诉 Git 你是谁。- 用
git add暂存文件,用git commit保存快照。
从文件夹到时间机器
上节课说,仓库是一个被 Git 盯着的文件夹。本课把这件事变成现实。你将创建一个文件夹,把它变成仓库,并保存第一个快照。
Git 把历史保存在文件夹内一个隐藏的 .git 目录里。你不需要打开它,知道它存在就够了。运行 git init 时,Git 会创建这个目录,文件夹就成了仓库 1。
在提交之前,Git 需要知道你的名字和邮箱地址。它会把这份信息写进每一次提交,这样之后你能知道每个改动是谁做的 2。
三区模型(简化版)
Git 同时从三个位置看待你的文件:
- 工作目录:你在文件夹里看到并编辑的文件。
- 暂存区:一个临时集合点,放着你打算在下一次提交里保存的改动。
- 仓库:由提交构成的永久历史 3。
命令 git add <file> 把文件从工作目录复制进暂存区。命令 git commit 把暂存区里的全部内容记录成一次新提交 2。
这张图标出了两条主命令的方向:git add 把改动移进暂存区,git commit 把它们移进历史。
完整示例(跟着做)
打开终端,按原样运行这些命令。它们会在你的桌面上创建一个安全的练习文件夹。
一切正常的话,最后一行会显示类似 1 file changed, 1 insertion(+) 的输出和一个提交哈希。这个哈希就是你新提交的唯一 ID。
你来试试(填空示例)
下面是同一套流程,挖了两个空。用你刚学的命令补全。
答案:
小结 + 下节课预告
你把一个文件夹变成了仓库,设置了名字和邮箱,并保存了第一次提交。你现在分得清工作目录、暂存区和仓库历史。下节课,你将阅读这份历史,并找回文件的旧版本。
Footnotes
-
Pro Git, Getting a Git Repository — https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository ↩
-
Pro Git, Recording Changes to the Repository — https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository ↩ ↩2
-
Pro Git, What is Git? — https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F ↩