第 1 课:版本控制与文件存档点
本课目标:
- 解释编辑文件时,版本控制为什么有帮助。
- 说出三个核心概念的名字:版本控制、仓库、提交。
- 在自己的工作里指出一个 Git 能帮上忙的地方。
final_final_v2.docx 问题
你有没有把文件命名为 report_final.docx,然后是 report_final_v2.docx,再然后是 report_final_v2_REALLY.docx?这就是一套手工搭出来的版本控制系统。它平时够用,直到某天出事:你覆盖了不该覆盖的文件,想不起来哪个 “final” 里有你喜欢的那段话,或者一不小心删掉了一下午的工作。
版本控制是一种系统,它随时间记录一个或一组文件的变化,让你之后可以调出特定版本 1。Git 是一个流行的版本控制工具。可以把它理解为覆盖整个文件夹的存档点系统:每次你让它保存,它就记住那一刻每个文件的确切状态。
Git 仓库(常简称 repo)是一个被 Git 记录存档点的文件夹。仓库把历史悄悄存在内部,你可以照常继续工作 2。
你需要的三个概念
本课只有三个新词。
- 版本控制:随时间记住文件的不同版本。
- 仓库:一个被 Git 盯着的文件夹。
- 提交:一次保存下来的快照,就像电子游戏里的存档点。
提交时,Git 会记录是谁做的改动、什么时候发生的,以及你写下的一句简短说明。之后你可以跳回任何一次提交。
这张图讲的是一件事:你的文件夹变成一个仓库,仓库里保存着一串提交。
完整示例(跟着做)
想象一位叫 Priya 的写作者。
- Priya 打开笔记本电脑,创建了一个名为
novel的文件夹。 - 她在这个文件夹里输入
git init。现在它是一个仓库了。(你现在还不需要记住这些命令,第 2 课会把每一条都过一遍。) - 她写了一章,运行两条命令:
git add chapter1.md和git commit -m "First draft of chapter 1"。 - 第二天她修改了这一章。她运行
git add chapter1.md和git commit -m "Add opening scene"。 - 她现在有两个存档点。如果她不喜欢新的开头,可以回到第一次提交。
这就是 Git 给你的日常能力:不再丢失已经完成的工作。
你来试试(填空示例)
用本课的词填空:版本控制、仓库、提交。
被 Git 盯着的文件夹叫 _______。保存一次快照的动作产生一个 _______。随时间记住各个版本的整套系统叫 _______。
答案: 仓库、提交、版本控制。
小结 + 下节课预告
本课介绍了 Git 要解决的痛点:丢失已经完成的工作。你学到了三个概念:版本控制、仓库和提交,并检查了 Git 是否已安装。下节课,你将把一个真实文件夹变成仓库,并完成第一次提交。
Footnotes
-
Pro Git, About Version Control — https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control.html ↩
-
Pro Git, Getting a Git Repository — https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository ↩