git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Recovering from commit --amend in rebase --interactive

From
Peter Krefting <peter@softwolves.pp.se>
Date
Jun 1, 2010, 09:27 UTC
Message-ID
<alpine.DEB.2.00.1006011022030.2352@ds9.cixit.se>
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/
Next: Boaz Harrosh
Message 1 of 8 in “Recovering from commit --amend in rebase --interactive”
  1. Peter KreftingJun 1, 2010
  2. Boaz HarroshJun 1, 2010
  3. Peter KreftingJun 1, 2010
  4. Jan KrügerJun 1, 2010
  5. Ævar Arnfjörð BjarmasonJun 1, 2010
  6. Junio C HamanoJun 2, 2010
  7. Ævar Arnfjörð BjarmasonJun 3, 2010
  8. Gabriel FilionJun 1, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.