git:给作品拍快照
存档、回滚、看历史——本地快照让你敢改敢错(够用就停,不教上线)。
学习证据 学完后,怎么核对?
把学习结果留在一个可以回看、可以复做的动作里;这一区只写学生能自己检查的证据。
如何核对
- git status 与本地提交记录
- 隐私署名与敏感文件检查
适用边界
本课只做本地仓库,不需要账号或上传;提交署名用代号和保留地址,git status 先排除密钥与个人资料。公开仓库前需另行核对平台政策。
最后复核
这是内容复核日期,不是学习截止日期。
讲
例子「最终版、真最终版、打死不改版」
你八成见过这样的文件夹:议论文-最终版.docx、议论文-最终版2.docx、议论文-真最终版-打死不改.docx……哪个是能用的?谁也不敢删,谁也说不清。做网页更狼狈:小晴想大改配色,又怕改崩回不去,只好把整个文件夹复制一份叫 studio-备份的备份——三天攒出五个分身。
名词程序员的答案叫 git——全世界写代码的人管版本的行业标准工具,免费开源。两个配套词:仓库(repository)=被 git 看管起来的项目文件夹;提交(commit)=给整个项目拍的一张带说明的快照。
定义git=文件夹的时间机器
git 不是网盘,也不是自动备份:它把「此刻整个项目的样子」存成一张张快照,什么时候拍、拍下的算哪一版,由你按快门。节奏三拍:git add . 把改动摆上台面 → git commit -m "改了什么、为什么" 咔嚓一拍 → 将来 git log 翻相册、git restore 一键回去。
时间机器的用法:平时按节奏拍快照,改崩的那天,才知道每一张都是退路。
| 命令 | 干什么 |
|---|---|
git init | 让当前文件夹入伙,变成仓库(一个项目只做一次) |
git add . | 把这次的全部改动摆上台面,准备入镜 |
git commit -m "说明" | 拍!说明写「改了什么、为什么」 |
git log --oneline | 一行一张翻相册,看项目走过的路 |
git restore . | 丢弃还没提交的改动,回到最近一张快照 |
git 还能多人协作、把代码发布上线——那些是以后的事。本课只取它的看家本领:在你自己的电脑上,给你自己的作品当时间机器。
泛化换个角度:「敢」是「可回退」送的礼物
游戏玩家在打 boss 前存档,作家改大纲前留底稿,外科手术前要备血——凡是给自己留好退路的人,动手时都敢下真功夫。git 教你的不只是五条命令,是一种做事底气:把操作设计成可逆的,你就可以大胆试错;试错一多,长进就快。反过来,那些让你畏手畏脚的事,往往不是因为难,而是因为没有退路。先造退路,再放手改——这是工程师胆子大的真正秘密。
例
补充三例——两个常见用法,一个易错。
小晴要给页面整个换配色。这次她不复制文件夹了:先 git add . → git commit -m "换色前的稳定版",然后放开手脚改。第一版真改砸了——页面花得睁不开眼。她敲 git restore .,一秒回到稳定版,深吸一口气改第二遍,这回成了。同一次失败,从「灾难」降级成「草稿」。
阿凯按「一个小完成拍一张」的节奏干了一周,周日敲 git log --oneline:九行快照说明从「项目开张」到「导航栏在手机上不再挤成一团」,一屏看完自己一周的九步脚印。哪天卡住没进度、哪天连拍三张,清清楚楚。写周记、跟老师汇报项目进展,素材直接从相册里抄。
大鹏先是三个星期没提交一次——页面崩那天,时间机器里只有一张古董快照,等于没有退路;痛定思痛后又矫枉过正,每按一次保存就 commit 一次,说明全写「改了改」「又改了」「改改改」。两周后想找「加暗色模式之前」的那一版,五十多张噪音快照里根本认不出来。错在哪:快照太稀疏=没退路,太密集又全无说明=有退路也找不到门。修法:节奏定在「一个小完成拍一张」;说明必写「改了什么、为什么」——快照的价值,在于将来的你能一眼认出它。
做
页面改崩了,改动还没提交——想回到最近一张快照的样子,敲哪条?
git add . 前先看 git status,不要把密码、密钥、真实个人资料或 .env 文件拍进快照。没有安装权限时,用文件夹复制保留本地版本也能完成本课。- 先确认设备允许安装;允许时只从 git 官网(git-scm.com)下载,安装提示逐项读懂再确认。不能安装时,复制一份 studio 文件夹作为本地快照即可。
- 第一次用先设置提交署名(只需一次):练习时可用不暴露身份的代号与保留地址,例如
git config --global user.name "学习代号"、git config --global user.email "student@example.invalid"。若以后把仓库公开,再按平台说明使用隐私邮箱;不要默认写真实姓名、学校邮箱或生日。 git init入伙 → 用git status检查范围 →git add .→git commit -m "项目开张",拍下第一张。- 给 index.html 加两句自我介绍,再拍一张:说明自己写。
- 确认没有要保留的未提交改动后,再故意把 index.html 删乱一段并保存,然后
git restore .——刷新浏览器,亲眼看它复活。 git log --oneline,确认相册里躺着两张快照。
怎么算过关:log 里有两条各自说清「改了什么」的快照;删乱-复活实验成功,并能说出 restore 回到的是哪一张。
卡
拍快照的节奏怎么定?说明怎么写?救命命令是哪条?
一个小完成拍一张:git add . → git commit -m "改了什么、为什么"。翻相册 git log --oneline;改崩未提交时 git restore . 回到最近快照。
- git 不是备份盘,是由你按快门的时间机器——快照稀了没退路,密而无说明找不到门。
- 大改之前先拍一张:失败从此只是草稿,不是灾难。
- 先造退路再放手改——「敢」是「可回退」送的礼物,学习也一样。