Re: git add -p and unresolved conflicts
From: Holger Hellmuth <hidden>
Date: 2016-06-15 22:53:25
Am 28.03.2012 22:50, schrieb Junio C Hamano:
I think Matthieu is not thinking about the "resolve conflicted merge (or rebase, am) and make a single commit" use case, for which your "pick one of the sides" makes sense. His is more about "I like some change in that unrelated commit---while I have no intention to replay that change as a whole, I want to use "cherry-pick --no-commit" and pick only the bits out of the change that are useful for what I am doing" use case. In such a context, after resolving conflicts in the working tree, "add -p" would be a good tool to pick hunks in the diff between the HEAD and the working tree.
Ok. Something like this (which is not really that different from Eriks example, so I might still be missing something) ? git init . echo "foo" > bar.txt git add bar.txt git commit -m. git checkout -b new echo "bar" >> bar.txt git commit -am. git checkout master git reset --hard echo "baz" >> bar.txt git commit -am. git cherry-pick --no-commit new git add -p bar.txt So he would be interested in keeping his previous working tree version (identical to HEAD commit, otherwise cherry-pick fails) for conflicting chunks as they (in most cases) don't have anything to do with the chunks he is interested in. In this case that is "baz" Which would always be the "ours" side in any conflicting junks. That suggests that he could just type '<' respective 'o' whenever a conflicting junk comes up as it would be the previous working tree version