News for hackers. Stuff that matters.
Re:Git Branches: Intuition and Reality by cesarb on Thursday November 23, 2023 @06:03PM (#38398717)
> Branches are pointers to a commit and that pointer is refreshed when a new commit is created. One could say they are a wandering tag (without explaining a tag for now).

A good name for these "wandering tags" would be "heads", since it's what git calls them internally (for instance, when not packed, they're stored at the "refs/heads/" path in the repository). This also exposes a distinction between a "branch" and its "head", and that distinction can be useful.

Re:Git Branches: Intuition and Reality by galaxyLogic on Thursday November 23, 2023 @08:10PM (#38399711)
So would it be correct to say that 'heads' are the LEAVES of the commits-tree?

Or are there such leaves which are not considered 'heads'?

Re:Git Branches: Intuition and Reality by Lornedon on Thursday November 23, 2023 @08:41PM (#38399880)
No. There are leaves that aren't heads (for example, after you delete a branch, the old commits just lie around until someone deliberately cleans them up), and there are heads that arent' leaves (for example if you branch a new feature branch from main. The feature branch brances off of main, so main is not a leaf anymore)
Re:Git Branches: Intuition and Reality by galaxyLogic on Friday November 24, 2023 @05:00PM (#38408849)
> The feature branch brances off of main, so main is not a leaf anymore)

But "main" remains a "head" even though the feature branch "continues the graph" from it?

So there must be a difference between "Adding a new commit" and "Branching a new commit". I think I got it now. Thanks

Re:Git Branches: Intuition and Reality by dasil003 on Saturday November 25, 2023 @08:58AM (#38413540)
There’s no “branching a new commit” (except as syntactic sugar). Creating a branch creates a new head pointing to an arbitrary commit (even one that already has one or more heads). Committing creates a new commit and moves exactly one head forward to it.
Re:Git Branches: Intuition and Reality by lisper on Thursday November 23, 2023 @06:26PM (#38398929)
Just to make this explicit: a branch in the chain of commits. The start of the chain is pointed to by a head. When you create a new commit on a branch, the head (of that branch) changes to point to the new commit.
Re:Git Branches: Intuition and Reality by lisper on Friday November 24, 2023 @01:24AM (#38401124)
Arrggh. A branch IS a chain of commits.