用途:将当前功能分支 rebase 到最新目标分支(通常是 master/main),保持线性提交历史,避免 git merge 产生合并提交。适用场景:功能分支落后于 master 需要同步最新代码;提交 MR/PR 前整理提交历史。
前置检查:用 git branch -v 与 git status 确认当前分支状态,并确保工作区干净、无未提交更改。
流程:1) git fetch origin <目标分支>;2) git rebase origin/<目标分支>;3) 如有冲突,用 git status 查看冲突文件,用 grep -n "<<<<<<< HEAD|=======|>>>>>>>" <冲突文件> 查看冲突详情。解决策略:保留目标分支版本用 git checkout --ours <文件路径>,保留当前分支版本用 git checkout --theirs <文件路径>,或手动编辑删除冲突标记;随后 git add <文件路径>,再 git rebase --continue。若在非交互环境或自动化中执行,可用 GIT_EDITOR=true git rebase --continue 避免编辑器挂起;若已因编辑器挂起,先确认进程与 rebase 状态再结束卡住的编辑器进程,不要中止 rebase 或重复执行会改写状态的命令。需要放弃时可 git rebase --abort。4) 推送:git push origin <当前分支> --force-with-lease,必须使用 --force-with-lease 安全强制推送。
冲突原则:版本号冲突通常保留较新版本;API 变更按具体情况分析并询问用户意图;配置变更评估影响后选择合适版本。
安全建议:rebase 前确保有备份或已推送分支;不要对公共分支(如 master)执行 rebase;使用 --force-with-lease 而非 --force;不确定时先询问用户选择。
限制:本资料未提供其他平台支持、自动化脚本、图形界面或收费相关信息。