> Let's say the state of your working tree here is A (and last commit is > HEAD). > >> * git add -p my_file >> * I edit a chunk *manually* (using e) > > Here, the index contains a state which is neither in the working tree > nor in the last commit. Let's call this state B. > >> * git stash --keep-index > > Here, the working tree takes state B. > >> * git stash pop > > Here, you're trying to apply the stash, which is somehow a diff > between HEAD and A, on your tree which is in state B. Hence the > conflicts. I am confusing about the description here. Git stash --keep-index exist after editing the hunk, so why stash will save the difference between HEAD and A, I think it should be the state which is modified by git add -p(using e), and as a result of no conflict. Gavin Guo -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html