用途:将当前功能分支 rebase 到最新的目标分支(通常是 master/main),同步最新代码并保持线性提交历史,避免 git merge 产生的合并提交。
主要能力与适用场景:功能分支落后于 master 需要同步最新代码时;提交 MR/PR 前保持提交历史整洁时。
使用方式(前置检查):确认当前分支状态 git branch -v、git status,并确认工作区干净(无未提交更改)。
流程:1. 获取最新代码:git fetch origin <目标分支>;2. 执行 rebase:git rebase origin/<目标分支>;3. 解决冲突(如有):查看冲突 git status,查看冲突详情 grep -n "<<<<<<< HEAD|=======|>>>>>>>" <冲突文件>,保留目标分支版本用 git checkout --ours <文件路径>,保留当前分支版本用 git checkout --theirs <文件路径>,或手动编辑删除冲突标记,然后 git add <文件路径> 标记已解决,git rebase --continue 继续,需中止用 git rebase --abort;4. 推送:git push origin <当前分支> --force-with-lease。
限制与安全建议:必须使用 --force-with-lease 安全强制推送,而非 --force;不要对公共分支(如 master)执行 rebase;rebase 前确保有备份或已推送的分支;冲突解决原则为版本号冲突通常保留较新版本,API 变更需具体分析并询问用户意图,配置变更需评估影响;如有不确定先询问用户。是否提供自动化脚本或额外参数暂未提供。