Git Things (matklad.github.io)
from schalkneethling@programming.dev to programming@programming.dev on 01 Jan 2024 12:52
https://programming.dev/post/7969962

#programming

threaded - newest

Kache@lemm.ee on 01 Jan 2024 17:11 next collapse

A title as uninformative as the single . commit messages he suggests writing.

Bare minimums of typo, refactor, whitespace, comments are barely any effort – less than the thought it takes to name variables and functions.

I really can’t agree with completely meaningless messages like minor and .

technom@programming.dev on 02 Jan 2024 16:40 collapse

Git is a lot of things at once:

  1. A tool to record development history - warts and all
  2. A tool to create a logical sequence of changes
  3. A tool to communicate intent and ideas to a maintainer

Meaningless messages like minor and . don’t suit any of these roles - not even 1. Even when recording development history with all mistakes, you’d still need context when you look back at the history. Matklad is a well respected developer. I wonder why he’s make such a bizarre claim.

snowe@programming.dev on 01 Jan 2024 18:56 next collapse

That’s why for typical project it is useful to merge pull requests into the main branch — the linear sequence of merge commits is a record of successful CI runs, and is a set of commits you want to git bisect over.

… if you do this you completely negate your ability to use git bisect…

Fal@yiffit.net on 01 Jan 2024 21:31 next collapse

Squash fast forward merge is the only way

themusicman@lemmy.world on 02 Jan 2024 21:50 collapse

Quite the opposite. If you fast forward merge without squashing, you lose the ability to meaningfully bisect, since only the head of each merge is checked by CI - other commits may not even build

snowe@programming.dev on 05 Jan 2024 02:43 collapse

My point was about merging in general. Unless you’re either

  1. Making sure every single commit builds
  2. Squashing and merging, with no merge commit

Then you’re not going to be able to effectively use git bisect.

dbx12@programming.dev on 02 Jan 2024 12:53 collapse

Review is done before code gets into main, but that’s inefficient for most of the non-mission critical projects out there. A better approach is to optimistically merge most changes as soon as not-rocket-science allows it, and then later review the code in situ, in the main branch.

Assuming you have a project with continuous delivery, that is an absolute foot gun. Optimistically merge the change and then realize in situ that you forgot the WHERE part of your SQL command (or analog statement of the query builder)? No fucking thanks.

xoggy@programming.dev on 03 Jan 2024 13:51 collapse

A better approach is to optimistically merge most changes as soon as not-rocket-science allows it, and then later review the code in situ, in the main branch.

I upvoted before reviewing the article in situ, then I had to go back and fix my upvote.