git rebase 参考
git rebase 会把一组提交移动到新的基底上。它常用于让分支历史更线性,也常用 git rebase -i 整理本地提交。
语法
git rebase <base>
git rebase -i <base>
常用命令
把当前分支变基到 main:
git fetch origin
git rebase origin/main
交互式整理最近 3 个提交:
git rebase -i HEAD~3
冲突处理:
git status
git add .
git rebase --continue
放弃 rebase:
git rebase --abort
常见错误
- 对已经多人共享的分支随意 rebase,会改写历史并影响协作者。
- rebase 冲突时没有逐个提交理解冲突来源,容易把改动合错。
- rebase 后需要推送时直接
--force,更安全的选择通常是--force-with-lease。
相关内容
相关内容
- git reflog 参考 git reflog Reference,整理 HEAD 移动记录、找回丢失提交、reset 恢复、rebase 后恢复和常见错误。
- git remote 参考 git remote Reference,整理查看、添加、修改、删除远程仓库,origin、set-url、remote -v、remote show 和常见错...
- git reset 参考 git reset Reference,整理 --soft、--mixed、--hard、HEAD~1、撤销本地提交、取消暂存、风险和恢复建议。
- git revert 参考 git revert Reference,整理用新提交撤销旧提交、revert 普通提交、revert merge、适用场景和常见错误。
- git stash 参考 git stash Reference,整理临时保存改动、stash push、list、show、apply、pop、drop、include-untrack...