Is there a way to make Git mark a file as conflicted?
If the index is already in a conflict state, simply check out the file with the --conflict=merge
flag:
git checkout --conflict=merge file
If the index is clean because the unresolved file has been [erroneously] added, just reset it before checking it out:
git reset filegit checkout --conflict=merge file
This will allow you to resume conflict resolution normally (e.g., git mergetool
).
NOTE: Promoting a comment to @jakub-narębski's answer into its own answer by request from @fourpastmidnight. :)
You can get contents of file with conflict markers using git checkout --conflict=merge -- file
, but if you have cleaned up index by using git add file
(or if GUI did that for you) it wouldn't work.
There is git update-index --unresolve
, but it is hacky, and does not work very reliably. I think the state it restores would be not enough for git-mergetool.
You would probably have to redo merge, or use git update-index --cacheinfo
to manually set stages version... git-stash can help you preserve correctly resolved conflicts.