From: Matt Hunter Date: Fri, 03 Jul 2026 14:33:14 GMT Subject: Re: Programmatically edit the git rebase sequence? Message-ID: In-Reply-To: On Fri Jul 3, 2026 at 9:42 AM EDT, brian m. carlson wrote: > 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! > > 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')