When a conflict resolution is needed SourceGit (v2026.15) does as expected for text files - it gives the user an option to select the version of a file. This is however not the case for binary files, where OURS is the version automatically selected - e.g. one can just stage the changes and commit them. A minimal example for both text and binary conflicts is attached bellow (after running the examples open local-repo).
A BINARY CONFLICT EXAMPLE
New-Item -ItemType Directory binary-conflict-example
git init --bare --initial-branch=main binary-conflict-example/remote-repo.git
git init --initial-branch=main binary-conflict-example/local-repo
Set-Location binary-conflict-example/local-repo
git config user.name "Binary Conflict Demo"
git config user.email "demo@example.invalid"
git remote add origin ../remote-repo.git
[IO.File]::WriteAllBytes("$PWD/artifact.bin", [byte[]](0, 1, 2, 3))
git add artifact.bin
git commit -m "base: add binary artifact"
git push -u origin main
git switch -c remote-change
[IO.File]::WriteAllBytes("$PWD/artifact.bin", [byte[]](0, 10, 20, 30))
git commit -am "remote: change binary artifact"
git push origin HEAD:main
git switch main
[IO.File]::WriteAllBytes("$PWD/artifact.bin", [byte[]](0, 40, 50, 60))
git commit -am "local: change binary artifact"
git merge origin/main
git status --short --branch
A TEXT CONFLICT EXAMPLE
New-Item -ItemType Directory text-conflict-example
git init --bare --initial-branch=main text-conflict-example/remote-repo.git
git init --initial-branch=main text-conflict-example/local-repo
Set-Location text-conflict-example/local-repo
git config user.name "Text Conflict Demo"
git config user.email "demo@example.invalid"
git remote add origin ../remote-repo.git
Set-Content artifact.txt "base version"
git add artifact.txt
git commit -m "base: add text artifact"
git push -u origin main
git switch -c remote-change
Set-Content artifact.txt "remote version"
git commit -am "remote: change text artifact"
git push origin HEAD:main
git switch main
Set-Content artifact.txt "local version"
git commit -am "local: change text artifact"
git merge origin/main
git status --short --branch
Update: formatting fix for consistency
When a conflict resolution is needed SourceGit (v2026.15) does as expected for text files - it gives the user an option to select the version of a file. This is however not the case for binary files, where OURS is the version automatically selected - e.g. one can just stage the changes and commit them. A minimal example for both text and binary conflicts is attached bellow (after running the examples open local-repo).
A BINARY CONFLICT EXAMPLE
A TEXT CONFLICT EXAMPLE
Update: formatting fix for consistency