在大多数开发者的日常工作中,Git 仅仅是一个上传代码的工具。然而,Git 的真正强大之处在于它对提交历史的精准控制和对灾难场景的修复能力。掌握这些高级用法,不仅能提升代码库的整洁度,更能让你在关键时刻化险为夷。一、 交互式变基:打造完美的提交历史在功能开发阶段,我们往往会产生大量琐碎的提交(如 “fix typo”, “tmp save”)。直接将这些碎片推送到主分支会污染历史记录。git rebase -i(Interactive Rebase)是整理历史的瑞士军刀。核心操作流程假设你想整理最近的 4 个提交,执行:gitrebase-iHEAD~4随后会进入一个编辑器界面,你可以对每个提交选择动作:pick: 保留该提交。reword: 保留提交,但修改提交信息。squash: 将该提交合并到前一个提交中。fixup: 类似 squash,但丢弃当前提交的日志消息。drop: 彻底删除该提交。深度技巧:推荐使用fixup。如果你有一系列小改动是为了完善上一个提交,使用fixup可以让历史看起来像是一次性完成的,非常适合保持主干分支的线性与简洁。二、 Git Reflog:你的“后悔药”与时光机