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.
精彩评论