Git-hex Conflict Resolution
When to use this Skill
This skill should be used when:
- •A git-hex tool reports that an operation is paused because of conflicts.
- •The user says a rebase or cherry-pick is "stuck", "paused", or "in conflict".
- •You need to see which files conflict and decide whether to continue or abort.
Trigger phrases include: "rebase conflict", "cherry-pick conflict", "merge conflict", "stuck on conflicts", "continue the rebase", "abort the cherry-pick".
Workflow
- •
Inspect conflict state
- •Call
git-hex-getConflictStatusto determine:- •Whether a rebase/merge/cherry-pick/revert is in progress.
- •Which files are conflicting and the overall operation type (
rebase,merge,cherry-pick, orrevert).
- •Use
includeContent: trueonly when necessary to inspect base/ours/theirs content for specific text files.
- •Call
- •
Resolve conflicts per file
- •For text files:
- •Propose or apply edits based on
base,ours, andtheirs. - •Ensure conflict markers are removed before resolving.
- •Call
git-hex-resolveConflictwith the file path (andresolution: "delete"for delete conflicts when appropriate).
- •Propose or apply edits based on
- •For text files:
- •For delete conflicts, use the
resolutionparameter to choose whether to keep or remove the file.
- •
Continue or abort the operation
- •When all conflicts are resolved (or
getConflictStatusshows no remaining conflicting files but the operation is still paused), callgit-hex-continueOperation. - •If the user decides to give up on the rebase or cherry-pick, call
git-hex-abortOperationto restore the pre-operation state.
- •When all conflicts are resolved (or
- •
Escalate if needed
- •If the final result after continuing is not what the user wanted, suggest
using
git-hex-undoLastfrom the branch cleanup Skill to revert.
- •If the final result after continuing is not what the user wanted, suggest
using
Tools to prefer
- •Inspection:
git-hex-getConflictStatus - •Resolution:
git-hex-resolveConflict - •Control:
git-hex-continueOperation,git-hex-abortOperation - •Recovery:
git-hex-undoLast(via the branch cleanup Skill)
Conflict types
Operation-level
- •
"rebase"- Interactive rebase paused - •
"merge"- Merge in progress - •
"cherry-pick"- Cherry-pick paused - •
"revert"- Revert paused (detected butcontinueOperation/abortOperationare not supported; usegit revert --continueor--abortdirectly)
File-level
- •
"both_modified"- Both sides modified the file - •
"deleted_by_us"- We deleted, they modified - •
"deleted_by_them"- We modified, they deleted - •
"added_by_both"- Both sides added different versions
Delete conflict handling
json
// To keep the file (must exist on disk):
{ "file": "path/to/file", "resolution": "keep" }
// To accept deletion:
{ "file": "path/to/file", "resolution": "delete" }