用途:在当前分支上执行 git rebase,并按参数选择变基目标,配合 workmux 基线分支配置,带一定的冲突处理流程。
主要能力与行为: 无参数时,变基到当前分支的 workmux 基线分支(读取 git config branch.<当前分支>.workmux-base),未配置则回退到本地 main,不执行 fetch。 参数为“origin”时,fetch origin 后变基到 origin/main。 参数为“origin/branch”时,fetch origin 后变基到 origin/branch。 参数为其他分支名时,直接变基到该本地分支(例如“main”强制变基到本地 main),不 fetch。
使用步骤:先以 git status --porcelain 检查本地改动;若存在已暂存、未暂存或未跟踪改动,则用 git stash push --include-untracked -m "workmux rebase" 暂存。若暂存失败,则在 fetch 或变基前停止。解析参数并确定目标后执行 git rebase <target>。若 fetch 或目标解析在变基开始前失败,会先恢复此前创建的 stash 再停止。变基成功后,若第 1 步创建过 stash,则用 git stash pop --index 恢复;恢复冲突时保留 stash、报告冲突并留待手动处理。
冲突处理约定:解决冲突前,先用 git log -p -n 3 <target> -- <file> 了解目标分支对该文件的近期改动;目标是同时保留目标分支与本分支的改动;解决后暂存并执行 git rebase --continue;若冲突过于复杂或不明确,应先寻求指引再继续。
限制与注意事项:现有 stash 条目不会被改动;fetch 失败或目标解析失败时会尝试恢复本次创建的 stash;冲突恢复失败时不会自动丢弃 stash。其他平台、收费、版本兼容性等信息暂未提供。