Git 生存指南:别管原理了,记住这 3 招就能活下来
在前几期文章里,我们搞定了域名、HTTPS、AI,甚至还聊了加密算法。但对于很多新手(包括我)来说,真正的噩梦往往开始于一个黑框框里的命令:
git push -> Error: failed to push some refs...
那一刻,血压直接上来。
很多教程一上来就讲“分布式版本控制系统”、“暂存区”、“HEAD指针”……听完只想睡觉。今天我们换个思路:把写代码当成玩 RPG 游戏,Git 就是你的“存档修改器”。
💡 警告
本指南只教你**“怎么用”和“怎么救火”**。至于底层的图论和链表原理?那是架构师的事,与我们 Copy/Paste 工程师无关。
1. 素质三连:存档、确认、上传
这是你每天要用 100 次的连招。不要去死记硬背,想象你在玩《塞尔达》或《黑神话》。
第一步:git add . (整理背包)
你在游戏里打了一堆怪,捡了一堆装备(写了一堆代码)。现在你要准备存档了。
git add .的意思就是:“把地上所有的东西都捡进背包里,准备保存。”- 那个
.代表“所有东西”。如果你只想捡某把剑,就把.换成文件名。
第二步:git commit -m "备注" (写入存档)
东西捡好了,现在要按下“保存”键,并给这个存档起个名字。
git commit就是生成一个存档点。-m "..."就是存档的描述。- 错误示范:
git commit -m "uodate" - 正确示范:
git commit -m "修复了首页图片不显示的Bug"
- 错误示范:
- 注意:如果不
commit,你的进度就没有保存。电脑炸了,代码就没了。
第三步:git push (上传云端)
你本地存好档了,但为了防止本地硬盘爆炸,或者为了回家能接着玩,你需要把存档上传到 Steam 云(GitHub/Cloudflare)。
git push就是同步到服务器。- 只有执行了这一步,你的 Cloudflare Pages 才会开始构建,你的朋友才能看到你的更新。
2. 进阶保命:后悔药怎么吃?
“感觉式编程”最容易出现的情况是:一顿操作猛如虎,一跑代码全是 Bug。
这时候你想回到昨天那个“虽然功能少,但至少能跑”的版本。
情况一:还没提交 (还没 Commit)
你改乱了,想把所有修改全部扔掉,回到上次存档的状态。
- 命令:
git checkout .(或者新版 Git 用git restore .) - 效果:所有没提交的修改瞬间消失,世界清静了。(慎用!找不回来的!)
情况二:已经提交了,但没上传 (Committed, no Push)
你按了存档键,才发现存档里有个惊天大 Bug。
- 命令:
git reset --soft HEAD^ - 效果:撤销刚才那次存档,但是保留你写的代码。
HEAD^意思就是“上一个版本”。--soft意思就是“温柔一点,别删我代码,只是把存档记录抹掉”。- 这时候你可以改改代码,重新 commit。
情况三:已经上传了 (Pushed)
你把 Bug 传到服务器上了,老板已经看到了。
- 命令:
git revert HEAD - 效果:Git 会自动生成一个新的存档,这个存档的内容是**“抵消”**掉上一个存档的修改。
- 为什么不用
reset?因为如果多人合作,你强行回滚历史会被队友打死。revert是最体面的“认错”方式。
- 为什么不用
3. 终极噩梦:冲突 (Conflict)
当你和队友(或者你在公司电脑和家里电脑)同时改了同一个文件的同一行代码。Git 懵了:“到底听谁的?”
这时候 git pull 或 git push 会报错。打开代码文件,你会看到这种阴间东西:
1 | |
怎么修?
- 别慌。这只是 Git 在问你问题。
- 手动修改:删掉那些
<<<<、====、>>>>符号。 - 二选一:保留你想要的那个标题。
- 保存。
- 重新素质三连:
add->commit->push。
4. 几个好习惯(防止悲剧)
- 勤存档 (Commit):写完一个功能就存一次。不要写了一整天凑成一个巨大的存档,万一回滚就全没了。
- 先拉后推:每次写代码前,先
git pull一下,把云端最新的存档拉下来,避免冲突。 - 善用
.gitignore:把node_modules、.env这种垃圾文件或者敏感文件写进去,别把它们捡进背包。
5. 总结
Git 虽然命令多,但对于我们这种独立开发者,90% 的时间只需要用这 3 个命令。
把它当成一个带时间机器的网盘。
add= 选中文件commit= 确认保存push= 上传网盘
搞懂这三个,你就是合格的“代码存档员”了。至于什么 rebase 变基?等我们需要重写时间线那天再说吧。