I have about 10 commits on my branch, let's say ID 1 through 10. I want to squash commits 4, 5 and 6 together, but leave the rest untouched. Every tutorial I found starts with the current HEAD and goes backwards with git rebase -i HEAD~(x amount). But how do I start the rebase at an earlier commit and specify a range such as git rebase -i 6...4 ?
Thank you
Just do an interactive rebase, squash of fixup the commits you want squashed or fixed up.
git rebase -i HEAD~10
pick a4461d3
pick d998164
pick 0a1f6e1
f 310ba9d
f 60b7e01
f 7baef60
pick bb9a551
pick badbad1
pick fd9a10c
pick 59ed66f
# Rebase e7e1369..60b7e01 onto fd9a10c (10 command(s))
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With