跳到主要内容

Git pull 之前,我更推荐先做这三个保护动作

· 阅读需 3 分钟
一介布衣
全栈开发者

以前我也干过那种事:线上着急同步代码,一句强制拉取就把本地改动全盖掉。问题是这种做法虽然快,但太依赖运气。只要本地还有没整理完的文件、临时调试记录或者还没想好是否提交的修改,一次粗暴覆盖就可能把自己坑到。

后来我慢慢给 git pull 前面加了三个固定动作。它们不复杂,却能把很多“拉下来再说”的风险挡住。

第一个动作:先看工作区是不是干净

这个动作听起来最普通,却最重要。
如果你连自己现在改了什么都没看清楚,就直接拉远端,后面出现冲突或者文件消失,往往连回忆都很费劲。

我不一定要求工作区完全无改动,但至少要知道:

  • 哪些文件是正式修改
  • 哪些只是本地测试痕迹
  • 哪些改动还值得保留

只有先把当前状态认清,后面的同步才有意义。

第二个动作:把临时改动放到安全位置

如果我还不想提交,但又不想和远端更新硬碰硬,我一般会优先做这两种事:

  • 要么先开一个临时分支把改动挂住
  • 要么把临时修改暂存起来

重点不在于必须用哪条命令,而是不要让“我记得这些改过”成为唯一保障。Git 的价值不只是版本管理,更是帮你把不确定状态先存住。

第三个动作:拉之前先知道自己要拿什么

我后来不太喜欢盲拉。
哪怕只是看一下远端最近几条提交,知道这次 pull 大概会带来哪些变化,也能让自己更从容。

因为有些冲突不是技术问题,而是语义问题。
如果远端刚好改了同一段配置、同一组依赖、同一个脚本入口,你提前知道,就会自然放慢手速,不容易把局面搞乱。

为什么我越来越少用“强制覆盖”

不是说这条路绝对不能用,而是它应该成为最后手段,而不是默认动作。
一旦把强制覆盖当成习惯,团队会逐渐失去对本地工作区的敬畏,很多本可以被好好整理的改动,最后都在匆忙里消失。

我更喜欢把 pull 看成一次同步,不是一次清洗。同步的前提,是先把自己手里的状态放稳。

小结

Git 最怕的不是命令多,而是人在着急时把每一步都做成不可逆。
看工作区、保护临时改动、先理解远端变化,这三个动作没有什么技术门槛,但真的能让 git pull 这件事更稳。对经常在本地和线上之间来回切的人来说,这点稳定感很值得。