我刚刚在功能分支上完成了一些工作,提交,将我的更改推送到服务器,然后切换到我的主分支,以便我可以合并。但是,在切换到master git后,我坚持要修改二进制文件。
如果我尝试合并我的功能分支或切换回我的功能分支,我会收到错误:
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
如果我尝试恢复更改,则不会发生任何事情。没有报告错误,也没有对文件状态进行任何更改:
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>
谁能告诉我这里到底发生了什么,以及如何纠正?我看到Paul Stovell的this similar question看起来像是一样的东西,但我不确定如何在这一点上恢复。即使是hard reset也没有任何效果。
答案 0 :(得分:0)
我最终通过获得我的回购的新克隆并放弃现有的回购来解决这个问题。合并完成没有错误。
同样,我对原始问题的答案感兴趣。