开发者

git cherry-pick says local changes exist, but git status says nothing

$ git cherry-pick 5de83068
error: Your local changes to the following files would be overwritten by merge:
        Components/ApplicationEnums/Application.cs
Please, commit your changes or stash them before you can merge.
Aborting

$ git status
# On branch master
nothing to commit开发者_高级运维 (working directory clean)

UPDATE Sorry, I switched to another branch, and switched back again, and can't reproduce this anymore :(


I had this issue. Error was - error: Your local changes would be overwritten by cherry-pick. hint: Commit your changes or stash them to proceed. fatal: cherry-pick failed The reason for me was I had a file in staging area that I don't wants to commit. I moved that file from staging area and tried to chery-pick again and that was a success.


I'm not quite sure whats the problem but you can reset your working copy with the follwing statement:

git reset --hard origin/master


The patch from the cherry-pick does not align in terms of the seams of where the changes would be applied. Do a --no-commit to see what happens.


In my case, I got the error while running

git cherry-pick -x <commit1> <commit2> <commit3>

Running the cherry-picks independently works:

echo <commit1> <commit2> <commit3> | xargs -n 1 git cherry-pick -x 


I've had this problem when using git on a virtual machine, where the working copy was a VMware shared folder. I don't really know what the solution is. In my case I was able to get git to move away the changes it thought existed via git stash (upon inspection appeared to be completely empty); after the changes had been moved away I could cherry-pick on top of the now clean working copy. (After this, I just deleted the stash.)


I came here from googling about that weird message and I'd like to put my two cents.

For what is worth, my scenario is as following:

  • real code resides in a Virtual Machine
  • Mac OS connects to it via samba network sharing
  • Visual Studio Code is running on my Mac
  • git is running from within VS Code

I did experienced what OP wrote and I resolved by doing... nothing but wait! :)

Maybe there was a cache or a network problem, who knows.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜