4 ms·
You're not missing anything. Rebasing off master is the same as a fastforward only merge. It is -i that can actually change the history.
by Supermighty 13y ago
You're not missing anything. Rebasing off master is the same as a fastforward only merge. It is -i that can actually change the history.
- fr0sty 13y agoRebasing and fast-forward merging are two very different things. whenever you rebase you create _brand new commits_ based off another part of the project history which bear a strong resemblance to the original commits but are nonetheless different. adding -i allows you to do further modification of commit contents (reordering, squashing, dropping, etc. but a vanilla rebase is still changing history. Linus addresses this in his mail early on: "People can (and probably should) rebase their _private_ trees (their own work). That's a _cleanup_. But never other peoples code. That's a "destroy history" "
- Supermighty 13y agoAre you saying when I rebase off of upstream on my private branch does that change the sha1 of the upstream commits? That hasn't been my experience. As far as I can tell. Edit: OK, I did a test and I can see that it is changing the sha1 for my commits on my private branch after I rebase from upstream master. So at least the way I'm doing it I'm not changing public comit hashes.
- aneth4 13y agoThe resulting code may be the same. The resulting repository and history most certainly are not.