面向非技术用户的 Git 基础
你不需要背任何命令,只需要知道有哪些事可以做,然后用人话让它去做。附一份「说什么」对照表。
上一节留了一个结论:它用命令删掉的文件,回退救不回来。
于是问题变成:一个不写代码的人,要不要为此去学 Git?
不用。 你需要知道的是「有哪些事可以做」,剩下的用人话说给它听就行。
Git 是什么
给文件夹装的时光机。
它替你保存每一次改动、每一个版本,让你随时回到过去的任何一个状态。GitHub 是把这台时光机放到云端,方便多台电脑同步或者多人协作。
对研究工作,它解决三个真实问题:
- 改坏了能回去。 不用再存「报告_v3_最终_真最终.docx」
- 能看见改了什么。 两个版本之间到底哪里不同,一目了然
- 能开分线试。 想试一个大改动又怕毁掉现有的,开个分支,不成就扔掉
三条说话原则
① 说目的,不说命令
- ❌「执行 git reset –hard HEAD」
- ✅「我刚才改的都不要了,回到上次保存的样子」
说目的,让它选命令。 你说错命令它会照做;你说错目的,它会问你。
② 说清楚背景
- ❌「提交一下」
- ✅「把刚才改的访谈稿提交了,说明写『完成 A 组 12 份编码』」
③ 危险动作先让它确认
涉及删除、覆盖、丢弃改动的操作,加一句:
执行前先告诉我这会影响哪些文件,等我确认。
这一句能挡掉绝大多数事故。
日常够用的九件事
让一个文件夹开始被管理
把这个文件夹用 Git 管起来。
一次性动作。 之后这个文件夹里的一切改动都有记录。
建议在开始任何批量处理之前先做这一步。
告诉它哪些文件不用管
帮我建一个 .gitignore,把临时文件、系统文件和体积大的原始音频排除掉。
有些东西不该进版本库:系统自动生成的文件、几个 G 的原始录音、含敏感信息的台账。
⚠️ 含客户数据或凭据的文件一定要排除。 一旦提交进去,即使后来删掉,历史记录里仍然留着。 这是最常见的一类事故。
看看现在改了什么
现在哪些文件改过了?
保存当前进度
把现在的状态保存一下,说明写「完成第一轮编码」。
这是最常用的一个动作。 什么时候该存?每完成一个有意义的小节就存一次。
存档太少的唯一后果,是出事时只能退回到很早以前。
刚才改的不要了
我刚才的改动都不要了,回到上次保存的样子。
⚠️ 这会丢弃未保存的改动,不可恢复。所以上面第三条原则很重要。
看看以前做过什么
列一下这个项目的修改历史。
开个分线试新东西
开一个新分支叫 test-framework,我想试一套新的编码框架,不影响现在的。
这是 Git 最被低估的能力。 你可以放心试一个激进的方案,试砸了直接扔掉这条分线,主线毫发无损。
研究工作里的典型场景:客户要求换一套分析框架,但你不确定新的更好。开分支跑一遍,两个版本并排比较。
半成品先收起来
我手头这些改到一半的先收起来,我要去处理另一件急事。
适合「做到一半被打断」的情况——把工作台清空,之后再原样取回来。
回到某个旧版本
回到「完成第一轮编码」那次保存的状态。
和 GitHub 联通
只有需要多台电脑同步或多人协作时才用得上。单机工作用不上这一段。
| 你想做的事 | 怎么说 |
|---|---|
| 把云端项目下载到本地 | 「把这个 GitHub 项目下载下来:〈链接〉」 |
| 把本地工作上传 | 「把本地的改动推到 GitHub」 |
| 下载别人的更新 | 「把 GitHub 上的最新改动拉下来」 |
| 首次发布 | 「把这个项目发布到我的 GitHub,设成私有仓库」 |
⚠️ 发布到 GitHub 前务必确认是私有仓库。
含客户数据的项目不应该放到任何云端代码仓库——即使是私有的。研究行业的合同通常对此有明确约束。
遇到冲突
有冲突了,帮我看看是哪些文件、两边分别改了什么,我来决定保留哪个。
冲突就是「你和别人改了同一行」。它不是错误,是 Git 在说「这里我不敢替你做主」。
决定权应该在你,别让它自动选。
为什么这一节放在这里
回到开头那个问题。第 04 章讲的检查点回退有五条限制,其中三条都指向同一个结论:
| 情况 | 回退救得了吗 |
|---|---|
| 它用编辑工具改的 | 救得了 |
| 它跑命令删掉 / 移动的 | 救不了 |
| 子代理改的 | 救不了 |
| 你自己手动改的 | 救不了 |
Git 覆盖的正是回退救不了的那部分。
官方自己的说法是:把检查点当成本地撤销,把 Git 当成永久历史。
四条心法
① 存档要勤。 一次有意义的进展就存一次。存档不花钱,回不去才花钱。
② 说明要写人话。 「更新」这种说明等于没写。三个月后你要靠它找回某个版本。
③ 危险动作先问。 凡是涉及丢弃、覆盖、强制推送的,让它先说清楚影响范围。
④ 敏感数据永远不进版本库。 客户数据、账号密码、含个人信息的原始记录——一旦提交进历史就很难彻底清除。 宁可一开始就用 .gitignore 排除。
最小可用组合
只想记三句话的话:
1.「把这个文件夹用 Git 管起来。」(开始之前)
2.「保存一下,说明写……」(每完成一段)
3.「回到上次保存的样子。」(出事之后)
这三句覆盖了九成的日常需要。 剩下的等真遇到了再说——反正你也不用记命令。
本节为 HiBridge 整理的工作方法,非官方文档内容。 其中关于检查点覆盖范围的部分依据官方 Checkpointing,查证日期 2026-08-05。