On Mon, Mar 22, 2010 at 7:22 PM, Pito Salas <r...@salas.com> wrote: > What's the exact meaning of 'HEAD' ? Is it a tag or a branch, and what does > it do/mean? When does one use it? And what might it mean when my remote repo > says that there are two 'HEAD's, on different branches?
- *head* is a named reference to the commit at the *tip* of a branch. The most recent commit on a branch is referred to as the *tip* of that branch. The *tip* of the branch is referenced by a *branch head*, which moves forward as additional development is done on the branch. - The terms *branch* and *head* are nearly synonymous in Git. Every *branch* is represented by one *head*, and every *head* represents one *branch*. Sometimes, *branch* will be used to refer to a head and the entire history of ancestor commits preceding that head, whereas *head* will be used to refer exclusively to a single commit object, the most recent commit in the branch. - Note this difference: a **head** (lowercase) refers to any one of the *named* heads (master, stable, dust) in the repository; **HEAD** (uppercase) refers exclusively to the currently *active head*. This distinction is used frequently in Git documentation. http://www.eecs.harvard.edu/~cduan/technical/git/git-2.shtml If you keep this 3 points in mind re-read the manuals, MANY things will be started to feel clearer. :) HTH... -- Dilip -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To post to this group, send email to git-us...@googlegroups.com. To unsubscribe from this group, send email to git-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/git-users?hl=en.