CLI Commands
gitwand resolve
Auto-resolve trivial merge conflicts.
bash
gitwand resolve [files...] [options]Arguments
| Argument | Description |
|---|---|
files... | File paths to resolve. If omitted, auto-discovers via git diff --name-only --diff-filter=U |
Options
| Option | Description |
|---|---|
--dry-run | Analyze conflicts without writing files |
--verbose | Show per-hunk details (line number, type, explanation) |
--no-whitespace | Skip whitespace-only conflicts |
--ci | CI mode: JSON output, exit code 1 if unresolved |
--json | Alias for --ci |
Examples
bash
# Resolve all conflicts in the repo
gitwand resolve
# Dry run with details
gitwand resolve --dry-run --verbose
# Resolve specific files
gitwand resolve src/config.ts package-lock.json
# CI pipeline usage
gitwand resolve --ci || echo "Unresolved conflicts remain"Exit Codes
| Code | Meaning |
|---|---|
0 | All conflicts resolved or no conflicts found |
1 | Unresolved conflicts remain (CI mode only) |
Human Output
✨ GitWand — Git's magic wand
✓ src/config.ts 2/2 resolved
◐ src/utils.ts 1/3 resolved
✗ src/complex.ts 0/1 resolved
Summary: 3/6 conflict(s) auto-resolved across 3 file(s)
1 conflict(s) remainingWith --verbose, each hunk shows:
✓ src/config.ts 2/2 resolved
Line 15: one_side_change → resolved (Only one side modified this block)
Line 42: same_change → resolved (Both sides made identical changes)CI/JSON Output
json
{
"version": "0.1.0",
"timestamp": "2026-04-14T12:00:00.000Z",
"summary": {
"files": 2,
"totalConflicts": 5,
"autoResolved": 4,
"remaining": 1,
"allResolved": false
},
"files": [
{
"path": "src/config.ts",
"totalConflicts": 2,
"autoResolved": 2,
"remaining": 0,
"validation": {
"isValid": true,
"hasResidualMarkers": false,
"syntaxError": null
},
"resolutions": [
{
"line": 15,
"type": "one_side_change",
"resolved": true,
"explanation": "Only one side modified this block",
"confidence": {
"score": 95,
"label": "certain",
"typeClassification": 100,
"dataRisk": 5,
"scopeImpact": 10
},
"trace": {
"selected": "theirs",
"hasBase": true,
"summary": "One-side change detected — incoming accepted.",
"steps": ["..."]
}
}
],
"pendingHunks": []
},
{
"path": "src/complex.ts",
"totalConflicts": 3,
"autoResolved": 2,
"remaining": 1,
"validation": {
"isValid": false,
"hasResidualMarkers": true,
"syntaxError": null
},
"resolutions": ["..."],
"pendingHunks": [
{
"line": 42,
"type": "complex",
"explanation": "Overlapping edits on both sides.",
"ours": "const timeout = 5000;",
"theirs": "const timeout = 10000;\nconst retries = 3;",
"base": "const timeout = 3000;",
"trace": {
"selected": null,
"summary": "Both sides modified — manual resolution required.",
"steps": ["..."]
}
}
]
}
]
}New fields in v1.1:
| Field | Description |
|---|---|
validation | Post-resolution check: residual markers, syntax errors |
confidence | Composite score (0–100) with dimensional breakdown |
trace | Full DecisionTrace: selected side, base availability, step-by-step reasoning |
pendingHunks | Unresolved conflicts with ours/theirs/base content for LLM-assisted resolution |
gitwand status
Show the conflict status for the current repository.
bash
gitwand statusReports the number of conflicted files, total conflicts, and how many are auto-resolvable.
gitwand --help
Show usage information.
bash
gitwand --help