Recovering from commit --amend in rebase --interactive
From: Peter Krefting <hidden>
Date: 2016-06-15 22:48:53
Hi! I am a frequent user of rebase --interactive, and sometimes I do change a commit to "edit", which presents me with an already committed change, which I can fix up, and do "git commit --amend" on. However, sometimes I get conflicts during rebase. In some cases I have already seen that conflict, so rerere handles it for me. I am still dropped out of rebase to manually add the fixes, though. The problem now is that is way too easy to just do a "git commit --amend" like in the case above, and thus overwriting the previous commit unintentionally. Is there an easy way of working around the issue? Last time this happened to me, I *did* notice my mistake as I entered the editor, since it came up with the previous commit's message. However, as the commit message file was in a good shape, I found no way to break out of the amend. I ended up using "git reflog" to find out what I overwrote, then "git diff $commitid > savedpatch" to remember what the change that I mistakenly amended was, then "git checkout $commitid" and "git apply savedpatch" and "git add" on the changed files. What I am wondering if there is an easier way of recovering? -- \\// Peter - http://www.softwolves.pp.se/