this post was submitted on 14 Aug 2023
12 points (100.0% liked)
Programmer Humor
19551 readers
398 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
OK. Query.
Rebase or merge into current?
I personally never rebase. It always seems to have some problem. I'm surely there's a place and time for rebasing but I've never seen it in action I guess.
What you do is create a third branch off master, cherry pick the commits from the feature branch, and merge in the third branch. So much easier.
That’s called rebasing
That is absolutely not what rebasing does. Rebasing rewrites the commit history, cherry picking commits then doing a normal merge does not rewrite any history.
I’m sorry but that’s incorrect. “Rewriting the commit history” is not possible in git, since commits are immutable. What rebase actually does is reapply each commit between upstream and head on top of upstream, and then reset the current branch to the last commit applied (This is by default, assuming no interactive rebase and other advanced uses). But don’t take my word for it, just read the manual. https://git-scm.com/docs/git-rebase
"Reapply" is rewriting it on the other branch. The branch you are rebasing to now has a one or multiple commits that do not represent real history. Only the very last commit on the branch is actually what the user rebasing has on their computer.
Cherry picking also rewrites the commits. This is equivalent to rebasing: