Lazy loaded image
Git使用技巧
Words 890Read Time 3 min
2026-1-13

分支

你的使用场景——“尝试一个功能的开发,测试的时候会保存,这些保存只是用于测试,并不一定会合并到最终的项目中”——正是Git的**“分支 (Branch)”**功能要解决的核心问题。
最佳实践:功能分支工作流 (Feature Branch Workflow)
永远不要直接在 master (或 main) 分支上进行实验性开发!master 分支应该始终保持稳定、可随时发布的状态。
正确的流程如下:

第一步:创建并切换到一个新的“功能分支”

在开始开发新功能或实验前,基于最新的 master 分支创建一个新分支。分支名要有描述性。
Bash
现在,你就进入了一个叫 feature/dynamic-buttons 的“沙盒”环境。

第二步:在新分支上自由地工作和提交

在这个分支上,你可以随心所欲地工作。
  • 写了一点代码,为了安全,马上提交:git commit -m "WIP: initial button structure" (WIP = Work in Progress)
  • 修复了一个bug,提交:git commit -m "fix: button state bug"
  • 加了个 console.log 用于调试,也提交:git commit -m "temp: add logging for debug"
你的feature/dynamic-buttons分支历史可能会变得很“乱”,包含很多临时的、测试性质的提交,但完全没关系! 因为这一切都与 master 分支无关,master 分支的历史记录依然干净整洁。

第三步:功能完成后,清理并合并

当你在这个分支上的功能开发完毕、测试通过后,不要直接把它合并回 master。因为那些临时的“脏”提交也会被一并带入 master
你需要先**“清理历史”**,把这个分支上所有相关的提交合并成一个或几个有意义的、干净的提交。这时,上面提到的 git rebase -i 就派上大用场了。
Bash
在打开的编辑器里,保留第一个提交为 pick,把后面几个相关的提交都改成 squashs
保存退出后,Git会把这几个 squash 的提交合并到第一个 pick 的提交里,并让你重新编辑一个最终的、完整的提交信息,例如:“feat: Implement dynamic button states for prompt optimization”。

第四步:合并回主分支

现在你的功能分支 feature/dynamic-buttons 上只有一个干净的提交了。这时就可以放心地把它合并回 master
Bash
这样,master 分支就只增加了一个清晰、完整的“功能”提交,而所有中间的实验过程都留在了功能分支里(或者说被清理掉了),主干历史非常优雅。
上一篇
Game
下一篇
The secret life of pet