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

Re: Programmatically edit the git rebase sequence?

From
Matt Hunter <m@lfurio.us>
Date
Jul 3, 2026, 14:33 UTC
Message-ID
<DJP0D7IZJ8WX.S1DDPT3KTQ95@lfurio.us>
In-Reply-To
<ake8OAIyK-ELs-fU@fruit.crustytoothpaste.net>
On Fri Jul 3, 2026 at 9:42 AM EDT, brian m. carlson wrote:
Show 16 quoted lines
> On 2026-07-03 at 12:02:33, Matthias Beyer wrote:
>> 
>> Now I fire up `git rebase -i master` and manually(!) match the list from
>> above `git-log` call and find the respective commits to edit them.
>> 
>> Is there a way I am not aware of to do that manual step programatically?
>> Something like
>> 
>>     git rebase -i master --edit-commits="$(git log master..mybranch --diff-filter=M --format="%H" -- "./subdir/*.rs")"
>> 
>> would be convenient here, although I would understand if that is too
>> much clutter for the already very heavy git CLI interface :-)
>
> Yes, such a thing exists.  You want `GIT_SEQUENCE_EDITOR`, which is an
> `EDITOR`-like command that edits the rebase list in place.  So tools
> like `ed`, `ex`, `sed -i`, `perl -i`, or `ruby -i` would be useful here.
Interesting tip - thanks!
Show 6 quoted lines
>
> I personally use this alias, which explicitly does not edit the sequence
> list, to automatically squash in all squash and fixup commits without
> prompting:
>
>     srebase = "!f() { GIT_SEQUENCE_EDITOR=true git rebase -m -i --autosquash \"$@\"; };f"

'git rebase --autosquash' does work now without the need to invoke --interactive mode. I believe we got this with f8f87e082798 (Merge branch 'ak/rebase-autosquash')

Previous: brian m. carlsonNext: D. Ben Knoble
Message 4 of 6 in “Programmatically edit the git rebase sequence?”
  1. Matthias BeyerJul 3, 2026
  2. Michal SuchánekJul 3, 2026
  3. brian m. carlsonJul 3, 2026
  4. Matt HunterJul 3, 2026
  5. D. Ben KnobleJul 3, 2026
  6. Johannes SchindelinJul 8, 2026

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.