A merge, a rebase, a cherry-pick, or a revert can stop on a conflict. stage shows this as a state, not as an error. The status panel gets a banner that names the operation and the key that continues it.
MERGING — m for optionsstage reads this state from the marker files in .git. The banner is correct
after you restart stage, and after you run git in another terminal.
Resolve a file
Section titled “Resolve a file”Press enter on a conflicted file to open the resolve view. The view shows both
sides of one conflict together, and a counter for how many conflicts the file
has.
| Keys | Action |
|---|---|
j / k |
Move between the two sides |
space |
Take the side under the cursor |
b |
Take both sides |
h / l |
Go to the previous conflict or the next one |
z |
Undo the last choice |
esc |
Leave the view |
space takes the side under the cursor.Finish the operation
Section titled “Finish the operation”A resolved file is not a finished operation. Stage the file first, then continue.
- Press
escto go back to the files panel. - Press
spaceon the file to stage it. - Press
mto open the options. - Press
cto continue.
m menu.The banner goes away when the operation is complete.
The options behind m
Section titled “The options behind m”| Key | Action | Available in |
|---|---|---|
c |
Continue | Every paused operation |
a |
Abort | Every paused operation |
s |
Skip this commit | Rebase, cherry-pick, revert |
A merge has no skip, because a merge has no queue of commits to skip.
CAUTION: Abort throws away the work of the whole operation. The repository goes back to the commit it started from.
Why skip exists
Section titled “Why skip exists”A rebase replays your commits one at a time. A commit whose change is already
upstream produces a conflict with nothing to resolve: both sides say the same
thing. Press s to drop that one commit and continue with the rest.
Conflicts from a stash
Section titled “Conflicts from a stash”The history commands stash your working tree first, and put it back when they finish. That second step can also conflict.
git reports this case with a zero exit code and writes no marker file, so stage
matches the message text instead. This is the one place where stage reads git
prose. It is safe because stage runs git with LC_ALL=C, so the message is
always English.
Where conflicts come from
Section titled “Where conflicts come from”| Page | Operation |
|---|---|
| Rewriting history | Squash, fixup, reorder, drop |
| Patch building | Move lines to another commit |
| Branches and remotes | Merge, rebase, pull |