One of the most powerful tools a developer can have in their toolbox is git rebase. Yet it is notorious for being complex and misunderstood. The truth is, if you understand what it actually does, git rebase is a very elegant, and straightforward tool to achieve so many different
I think the main reason
rebase --interactive
is not well known is the people shouting “don’t userebase
ever” without bothering to provide a nuanced explanation of their warning. Many newcomers will avoidrebase
altogether without trying to understand what it does.Git developers created
switch
andrestore
commands to clarify the user facing functionality ofcheckout
. Not sure if they would do the same forrebase --interactive
(something likegit rearrange
, terrible name, I know). That would bring it to people’s attention bypassing the witch-hunt aroundrebase
. But I wouldn’t hold my breath.