Re: [RFD] Git glossary: 'branch' and 'head' description
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- May 21, 2006, 08:30 UTC
- Message-ID
- <e4p8e8$uqt$2@sea.gmane.org>
- In-Reply-To
- <87y7wyv72m.fsf@morpheus.hq.vtech>
David Kågedal wrote:
> Jakub Narebski <jnareb@gmail.com> writes:
[...]
Show 13 quoted lines
>> So from the user's point of view, 'branch' is simply _named line of >> development_. Refer to topic and tracking branches. > > But the definition of 'branch' in git is quite different from the > definition in CVS or many other systems. It CVS, each revision > (commit) belongs to a branch, and the branch is a linear sequence of > revisions, not a full DAG. In git, a commit doesn't really "belong" > in any specific branch. > > So, while it makes sense to describe branches as "lines of > development" in general terms, it is also important to note the > specific meaning of 'branch' in the context of git; i.e. as the > history of a single head commit.
We can always say that branch is 1-st parent linear history of head branch, up to unmarked but computable branching/fork/creation point, i.e.
{i = 0..N: branch-head~i}where N is the length of the branch.
BTW. HEAD~0 == HEAD, isn't it?
-- Jakub Narebski Warsaw, Poland