There are some changes I made to a file in a commit A, then I undid the changes by mistake and went on further to make changes in commits B and C.
I want the changes in commit A to be in my file, but the changes in B and C should not be lost either.
Let's say my branch is now at C.
I don't want to
$ git checkout --patch
because I want the file to contain the changes I made in B and C and doing a checkout of the file from commit A will rewrite the file in both the index and the working tree.
I can't do a cherry-pick because commit A is a merge commit(there are two contributors to the repository and I deleted the changes my mentor made by mistake in the subsequent commits after I merged them) and I might end up with a mess if I specified either parent.
Apart from manually copying the changes I want in the file, is there any other way to accomplish this?