Earlier quoted context omitted.
>Because clean history is easier to bisect. While this is often true, `git rebase` changes your commits. Your history is now a lie . I've been in the situation where a `git rebase` ended up breaking commits. It's possible to merge broken history with `git rebase`. Only a `git merge --no-commit` will give you the opportunity to tweak the merge commit so that the resulting merge isn't broken.
Time is relative and history is only what has been observed. You only rebase code that has not been seen by others, so the code that was rebased was never history at all, as far as anybody else is concerned. I don't think anybody ever recommends rebasing public code. There is a reason for that --force flag on git-push advises the user to use with care. I mean, I could configure my development setup to automatically c…
>I don't think anybody ever recommends rebasing public code.
This very article says it's acceptable to rebase a public feature branch.