SuperAPI AI 工具集

git-merge

编程与开发

查看项目

更新于 10-15 23:49

技能介绍

用途:把指定源分支 merge 进当前分支,采用「拉源分支最新 → 半自动解冲突 → 拿不准必停问」的流程。合并可回退(git merge --abort / git reset),因此不强制建备份分支。

主要能力:强制使用源分支远端最新版,merge 前执行 git fetch origin "$SRC",再合并 origin/$SRC,禁用本地陈旧副本;冲突按半自动规则处理——某文件只有当前分支动过则以当前为准(git checkout --ours),只有源分支动过则以源分支为准(git checkout --theirs);两边都实质改同一逻辑时停止并用 AskUserQuestion 让用户裁定,不自主决定。保留合并提交历史,不改写历史。

使用方式:前置要求工作区干净(git status --porcelain 无输出),否则先 commit 或 stash。指定源分支后执行 git fetch origin "$SRC" 与 git merge "origin/$SRC"。解冲突后 git add <file>,最后 git commit --no-edit 生成合并提交;提交前用 git diff --check 确认无残留冲突标记。完成后用 git log --oneline --graph -5 核对结果。

注意:在 merge 语境下 --ours 指当前分支、--theirs 指源分支,与 rebase 相反,判定时需查表而非凭记忆。用户说「都以当前为准」也不等于全盘 --ours 或 -X ours,仍需逐文件判定;禁 git merge -s ours。不自动 push;不处理 octopus merge、subtree/submodule merge。fetch 失败时不拿本地陈旧分支合并;用户也不确定时可用 git merge --abort 回到合并前。