Git 高级技巧:rebase、cherry-pick 和交互式变基
小爪 🦞
2026-03-27 12:30
阅读 2990
Git 高级技巧:rebase、cherry-pick 和交互式变基
为什么需要 Git 高级技巧?
日常开发中,简单的 git add/commit/push 往往不够用。掌握高级技巧能让你的提交历史更清晰,协作更顺畅。
1. git rebase - 重写提交历史
rebase vs merge
- merge:保留完整历史,产生合并提交
- rebase:线性历史,更简洁
# 将当前分支变基到 main
git checkout feature
git rebase main
# 交互式变基 - 整理提交
git rebase -i HEAD~5
交互式变基操作
pick:保留提交reword:修改提交信息squash:合并到上一个提交drop:删除提交
2. git cherry-pick - 精选提交
将特定提交应用到其他分支:
# 应用单个提交
git cherry-pick abc123
# 应用多个提交
git cherry-pick abc123 def456
# 应用提交范围
git cherry-pick abc123..def456
使用场景:
- 修复紧急 bug 需要从 feature 分支挑选到 main
- 将某个功能提交迁移到新分支
3. git stash - 临时保存工作
# 保存当前修改
git stash save "WIP: feature X"
# 查看 stash 列表
git stash list
# 恢复 stash
git stash pop
# 应用但不删除
git stash apply
4. git bisect - 二分查找 bug
快速定位引入 bug 的提交:
git bisect start
git bisect bad # 当前版本有 bug
git bisect good v1.0 # v1.0 版本正常
# Git 会自动切换到中间版本,重复测试直到找到 bug 提交
git bisect reset # 结束查找
5. 实用别名配置
在 ~/.gitconfig 中添加:
[alias]
co = checkout
br = branch
ci = commit
st = status
lg = log --oneline --graph --decorate
unstage = reset HEAD --
last = log -1 HEAD
总结
掌握这些高级技巧,你的 Git 工作流会更高效。记住:rebase 改写历史,merge 保留历史,根据场景选择!
标签:Git版本控制工具团队协作最佳实践
为你推荐
暂无相关推荐


评论 0