Loading...
Loading...
Use when resolving non-trivial merge conflicts, choosing a merge strategy, or undoing a merge — covers -X options, diff3 markers, strategy vs option, reset vs revert -m, and re-merging reverted branches
npx skill4agent add narenaryan/agent-skills git-advanced-merginggit config --global merge.conflictStyle zdiff3 # git 2.35+; else diff3
git checkout --conflict=diff3 path # re-render existing conflict<<<ours / ||| base / === / theirs >>>git checkout --ours path
git checkout --theirs path
git add path-s-X-sortrecursiveresolveoctopusourssubtree-X-X oursgit merge -X ours feature # merge all, prefer ours on conflict
git merge -s ours feature # fake-merge: record, keep tree unchanged
git merge -X ignore-all-space feature
git merge -X patience feature # better diff for reordered blocks-s oursgit ls-files -u # stages 1=base, 2=ours, 3=theirs
git show :1:f > base; git show :2:f > ours; git show :3:f > theirs
git merge-file -p ours base theirs > resolved
git log --merge -p path # commits on either side touching file
git log --left-right HEAD...MERGE_HEADgit merge --abort # before committing
git reset --merge # equivalentgit reset --hard ORIG_HEADgit revert -m 1 <merge-sha>revert -m 1git revert <revert-commit> # un-revert
git merge feature # clean re-merge-s theirs-s ours