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

RFC: git rebase -i and root commits

From
EREric Raible <raible@gmail.com>
Date
Jul 23, 2008, 01:58 UTC
Message-ID
<loom.20080723T013019-412@post.gmane.org>
My normal workflow is to create a .gitignore in my initial commit.

When I later realize that I've forgotten something from that file I could of course just commit the changes, but I'd rather use "git rebase -i" in the normal way to make myself appear smarter than I am. Especially since this realization usually comes early on (and certainly before publishing).

But rebase can't go all the way to a root ("fatal: Needed a single revision"). The best I've found is:

1) git checkout -b temp <root commit>
2) echo '*.tmp' >> .gitignore
3) git commit --amend .gitignore
4) git rebase --onto temp <root commit> master

If there really is an asymmetry here and I haven't missed anything (a large assumption), then what's the best way to think about it?

Is there a role for a default commit (e.g. the sha1 of "") here so that 'rebase -i' can update all commits and not just the ones with parents?

Or should I just get used to it and move on?
Thanks - Eric
Next: Stephan Beyer
Message 1 of 3 in “RFC: git rebase -i and root commits”
  1. Eric RaibleJul 23, 2008
  2. Stephan BeyerJul 23, 2008
  3. Johannes SchindelinJul 23, 2008

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.