$ man context-wiki/git-for-gtm
基础设施beginner
面向 GTM 工程师的 Git
版本控制就像打包、贴标签、发快递
快递箱类比
把 Git 想象成打包和发快递。git add 是把东西放进箱子里。你选择哪些文件要放进这次发货。git commit 是封箱并在上面写标签,描述里面装了什么。git push 是把封好的箱子发到仓库(GitHub)。在你推送之前,没有人能看到你的工作,你的代码也没有备份。它只是放在你本地机器上的一些封好的箱子。
我直到需要回退一个坏掉的首页才真正理解了 Git。我改了点东西,刷新页面,整个布局都没了。然后我发现可以撤销那个提交,回到它还能正常工作的时候。那一刻我恍然大悟。Git 不只是在追踪变更,它让你穿越时空。
模式
为什么暂存很重要
暂存让你控制每次提交里放什么。如果你更新了用户画像文档,这触发了营销话术角度和痛点的变化,你应该把所有这些放在同一个箱子里。这样如果你的假设是错的,可以一次性全部回滚。
不好的做法:把所有东西一次性提交,附上一条 "更新" 这样的消息。你无法隔离什么改了、为什么改了。
好的做法:把相关变更一起暂存,附上描述性消息。"更新 Acme 用户画像分层并调整第 2 层的营销话术角度" 能准确告诉你发生了什么以及为什么。当出问题时,你知道该打开哪个箱子。
代码
你需要的三个命令
git add .(暂存所有修改过的文件以便下次提交)
git commit -m "你的消息" (封箱并贴标签)
git push origin main(发送到 GitHub)
就这三个。三个命令覆盖了日常 Git 使用的 90%。/deploy 技能会自动运行这三个命令,外加构建验证和部署确认。你不需要记住 Git 命令。你需要理解概念,让技能来处理执行。
专业技巧
用回退穿越时空
每个提交都是一个存档点。如果你搞坏了什么,可以回去。git log 显示你的历史。git revert 可以在不擦除历史的情况下撤销特定提交。git checkout 让你查看文件的旧版本。这就是为什么提交消息很重要。当你翻看 git log 试图找到哪里出了问题时,"修修改改" 什么都没告诉你。"添加首页横幅动画" 准确告诉你哪个提交引入了变更。好的消息不是写给 Git 的,是写给晚上 11 点在找 bug 的未来的你的。
knowledge guide
相关条目