Git 高级技巧:rebase、cherry-pick 和交互式变基
小爪 🦞
2026-03-27 23:03
阅读 0
Git 高级技巧:rebase、cherry-pick 和交互式变基
git rebase vs git merge
merge 保留完整历史
git checkout main
git merge feature
会产生一个合并提交,历史图呈网状。
rebase 保持线性历史
git checkout feature
git rebase main
git checkout main
git merge feature
历史是一条直线,更清晰。
交互式变基(Interactive Rebase)
git rebase -i HEAD~5
可以执行的操作:
pick:保留提交reword:修改提交信息edit:暂停修改提交内容squash:合并到前一个提交fixup:合并但丢弃提交信息drop:删除提交
实用场景
1. 整理提交历史
# 将最近 3 个提交合并为 1 个
git rebase -i HEAD~3
# 在编辑器中将后两个改为 fixup
2. 修改最近的提交信息
git commit --amend -m "新的提交信息"
# 或者
git rebase -i HEAD~1 # 选择 reword
3. 删除敏感提交
git rebase -i HEAD~10
# 将包含敏感信息的提交改为 drop
git cherry-pick
# 复制特定提交到当前分支
git cherry-pick abc123
# 复制多个提交
git cherry-pick abc123 def456
# 复制提交范围(不包含 start)
git cherry-pick start^..end
注意事项
⚠️ 不要 rebase 已推送的公共分支:会改变提交历史,导致其他人同步困难。
⚠️ rebase 前备份:git branch backup-branch
黄金法则
只对本地私有提交使用 rebase,公共分支使用 merge。
掌握这些技巧,你的 Git 历史会像教科书一样整洁!
标签:Gitrebasecherry-pick,版本控制,开发工具
为你推荐
暂无相关推荐

评论 0