this post was submitted on 03 Mar 2024
1097 points (97.8% liked)

Programmer Humor

19503 readers
339 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

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 8 months ago (1 children)

Why does

git rebase

work sometimes?

Yeah git can get quite complicated when there ate lots of people working on the same things.

[–] [email protected] 17 points 8 months ago (2 children)

It's not git that's complicated. The work is complicated. git is just one of the tools that programmers use to manage the complexity.

I also think that some people get too hung up on having a "clean" history, and trying to "fix" the history after it has already occurred. I usually have enough problems to worry about in the present, without also trying to worry about the past.

[–] [email protected] 7 points 8 months ago (2 children)

I find the "clean history" argument so flawed.

Sure, if you're they type to micro commit, you can squash your branch and clean it up before merging. We don't need a dozen "fixed tests" commits for context.

But in practice, I have seen multiple teams with the policy of squash merging every branch with 0 exceptions. Even going so far as squash merging development branches to master, which then lumps 20 different changes into a single commit. Sure, you can always be a git archeologist, check out specific revisions, see the original commits, and dig down the history over and over, to get the original context of the specific change you're looking into. But that's way fucking more overhead than just looking at an unmanipulated history and seeing the parallel work going on, and get a clue on context at a glance at the network graph.

[–] [email protected] 3 points 8 months ago

Using curated commits to optimize for pull request reviewability is highly underrated. Liberal use of interactive rebasing to 'tell a story', essentially.

[–] [email protected] 2 points 8 months ago

you’re they type to micro commit

Thanks for a much shorter and better way to explain this tendency of mine and why I rebase a lot, yoinking this phrase.

[–] [email protected] 5 points 8 months ago

I like to rebase on my feature branches before the PR because it’s a gift to my future self that resolves all the conflicts (if any) before my work goes in. I just find trying to figure out how those conflicts got resolved when there are a bunch of merges in more difficult if there’s a problem later. It’s easier to understand for me. YMMV, this does not work for everyone. Etc etc.