0

I just finished some work on a feature branch, committed, pushed my changes to the server, then switched to my master branch so I could merge. However, after switching to master git is insisting that I have modified a binary file.

If I try to merge my feature branch or switch back to my feature branch I get an error:

git -c diff.mnemonicprefix=false -c core.quotepath=false checkout feature_branch
error: Your local changes to the following files would be overwritten by checkout:
    Bla/Bla/Bla.dll
Please, commit your changes or stash them before you can switch branches.
Aborting

If I attempt to revert the change, nothing happens. No error is reported and no change to the file's status occurs:

PS C:\Repo> git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   Bla/Bla/Bla.dll

PS C:\Repo> git checkout -- Bla/Bla/Bla.dll
PS C:\Repo> git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   Bla/Bla/Bla.dll

PS C:\Repo>

Can anyone tell me what the heck is going on here, and how to rectify? I saw this similar question from Paul Stovell and it looks like the same thing, but I'm unsure how to recover at this point. Even a hard reset is not having any effect.

Community
  • 1
  • 1
Kent Boogaart
  • 175,602
  • 35
  • 392
  • 393

1 Answers1

0

I ended up "solving" this by getting a fresh clone of my repo and ditching the existing one. The merge completed with no errors.

All the same, I'm interested in the answer to the original question.

Kent Boogaart
  • 175,602
  • 35
  • 392
  • 393