Kodokon kodokon.com

备份你的工作并保留版本

搭建一张真正的安全网:备份、历史记录,以及 Git 的第一步。

7 分钟 · 3 题

在 Kodokon 中打开本课

每个人都有一个工作成果丢失的故事:被覆盖掉的文件、落在火车上的 U 盘、改了一下就全崩了却回不去的那次修改。这不是运气不好,而是没组织好。安全网有三层,而且它们互为补充:经常保存复制到别处、以及做版本管理

说到备份,记住 3-2-1 法则:至少 3 份数据副本,放在 2 种不同的介质上,其中 1 份存在家以外的地方。一块移动硬盘加上一个在线服务就完全够了。要小心一个非常常见的误解:同步到云端的文件夹不是备份。如果你误删了一个文件,这个删除操作会在几秒钟内传播到所有副本上。

Git 就是你文件的时光机。三个词就足以入门。仓库(repository)是一个被 Git 盯着看的项目文件夹。提交(commit)是整个项目在某一刻的一张快照,附带一条说明这次改动的信息。历史记录就是这些快照排成的序列,你可以随意翻看,也可以随意回到其中任何一个。Git 完全运行在你自己的电脑上;GitHub、GitLab 这样的服务则在线上保存一份副本。

BASH
cd my-project
git init
git add .
git commit -m "网站的第一个版本"
创建一个仓库,并记录项目的第一张快照。
BASH
git status
git log --oneline
git diff
git restore index.html
查看状态、历史记录、尚未提交的改动,以及撤销某个文件的改动。

知识检测

确认你已牢记本课的重点内容。

  1. 一次提交(commit)是什么?
    • 项目在某一刻的一张快照,附带一条信息
    • 用邮件发给同事的一份项目副本
    • 一个 zip 格式的压缩包
  2. 为什么同步到云端不能代替备份?
    • 因为它总是要收费
    • 因为一次删除或一个失误会立刻传播到所有副本上
    • 因为它在离线时无法工作
  3. 什么东西绝不能放进 Git 仓库?
    • 项目的源代码
    • 一个包含密码或访问密钥的文件
    • 一个说明项目的 README 文件