Recovering from commit --amend in rebase --interactive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/
--
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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]