转自:http://gitster.livejournal.com/29060.html
在打补丁的时候遇到了这个问题,按这个方法得已解决。
When you try to run "git pull" to merge with others, or to run "git am" to apply patches from others, they both first check if your index is clean, and will error out if it is not. You will see something like this:
$ git pull
error: Entry 'hello.c' would be overwritten by merge. Cannot merge.
fatal: merging of trees 32b97a7... and da65a11... failed
error: Entry 'hello.c' would be overwritten by merge. Cannot merge.
fatal: merging of trees 32b97a7... and da65a11... failed
Or this (for "git am")
Dirty index: cannot apply patches (dirty: hello.c)
git am 时可以按下面的方法解决:
$ git stash save "Random changes that are not ready"
$ git am
$ git stash pop