• 0 Posts
  • 49 Comments
Joined 2 years ago
cake
Cake day: April 27th, 2024

help-circle




  • Because a commit should be an “indivisible” unit, in the sense that “should this be a separate commit?” equates to “would I ever want to revert just these changes?”.

    IDK about your commit histories, but if I’d leave everything in there, there’d be a ton of fixup commits just fixing spelling, satisfying the linter,…

    Also, changes requested by reviewers: those fixups almost always belong to the same commit, it makes no sense for them to be separate.

    And finally, I guess you do technically give up some granularity, but you gain an immense amount of readability of your commit history.


  • Same. And even if you were to fuck up, have people never heard of the reflog…?

    Every job I’ve worked at it’s been the expectation to regularly rebase your feature branch on main, to squash your commits (and then force push, obv), and for most projects to do rebase-merges of PRs rather than creating merge commits. Even the, uh, less gifted developers never had an issue with this.

    I think people just hear the meme about git being hard somewhere and then use that as an excuse to never learn.














  • Yeah. Once you get used to the (verbose, but by no means unergonomic!) syntax, you’ll probably never be happy with another language again. Job-wise, I am currently mostly using Go, and while also a nice language, I miss the confidence and security I took for granted with rust.

    Not to mention just how goddamn expressive rust can be. Let bindings like if ok/err, else return? Assign from a match on Some(Ok(x))? Filter, map, and friends on any iterator? Oh my GOD the error handling with the question mark iterator? 100% confidence that if it compiles, no error, possible null value, or case is unhandled.

    And all this WHILE giving you the amazing security benefits!

    Ah, damn, caught me proselytizing again.