git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/5] git.txt: HEAD is not that special

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 15, 2023, 20:32 UTC
Message-ID
<20231215203245.3622299-2-gitster@pobox.com>
In-Reply-To
<20231215203245.3622299-1-gitster@pobox.com>

The introductory text in "git help git" that describes HEAD called it "a special ref". It is special compared to the more regular refs like refs/heads/master and refs/tags/v1.0.0, but not that special, unlike truly special ones like FETCH_HEAD.

Rewrite a few sentences to also introduce the distinction between a regular ref that contain the object name and a symbolic ref that contain the name of another ref. Update the description of HEAD that point at the current branch to use the more correct term, a "symbolic ref".

This was found as part of auditing the documentation and in-code comments for uses of "special ref" that refer merely a "pseudo ref".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/git.txt | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Documentation/git.txt b/Documentation/git.txt
index 2535a30194..880cdc5d7f 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -1025,10 +1025,11 @@ When first created, objects are stored in individual files, but for
 efficiency may later be compressed together into "pack files".
 
 Named pointers called refs mark interesting points in history.  A ref
-may contain the SHA-1 name of an object or the name of another ref.  Refs
-with names beginning `ref/head/` contain the SHA-1 name of the most
+may contain the SHA-1 name of an object or the name of another ref (the
+latter is called a "symbolic ref").
+Refs with names beginning `ref/head/` contain the SHA-1 name of the most
 recent commit (or "head") of a branch under development.  SHA-1 names of
-tags of interest are stored under `ref/tags/`.  A special ref named
+tags of interest are stored under `ref/tags/`.  A symbolic ref named
 `HEAD` contains the name of the currently checked-out branch.
 
 The index file is initialized with a list of all paths and, for each
-- 
2.43.0-76-g1a87c842ec
Previous: Junio C HamanoNext: Ramsay Jones
Message 3 of 26 in “make room for "special ref"”
  1. 0/5 make room for "special ref"Junio C Hamano, Dec 15, 2023
  2. 2/5 git-bisect.txt: BISECT_HEAD is not that specialJunio C Hamano, Dec 15, 2023
  3. 1/5 git.txt: HEAD is not that specialJunio C Hamano, Dec 15, 2023
  4. Ramsay JonesDec 15, 2023
  5. Junio C HamanoDec 15, 2023
  6. Junio C HamanoDec 15, 2023
  7. doc: format.notes specify a ref under refs/notes/ hierarchyJunio C Hamano, Dec 15, 2023
  8. Patrick SteinhardtDec 18, 2023
  9. Junio C HamanoDec 18, 2023
  10. Jiang XinDec 19, 2023
  11. Ramsay JonesDec 15, 2023
  12. Patrick SteinhardtDec 18, 2023
  13. Junio C HamanoDec 18, 2023
  14. 3/5 refs.h: HEAD is not that specialJunio C Hamano, Dec 15, 2023
  15. Andy KoppeDec 16, 2023
  16. 4/5 docs: AUTO_MERGE is not that specialJunio C Hamano, Dec 15, 2023
  17. 5/5 docs: MERGE_AUTOSTASH is not that specialJunio C Hamano, Dec 15, 2023
  18. Andy KoppeDec 16, 2023
  19. Junio C HamanoDec 15, 2023
  20. Ramsay JonesDec 15, 2023
  21. Junio C HamanoDec 16, 2023
  22. Patrick SteinhardtDec 18, 2023
  23. Andy KoppeDec 16, 2023
  24. Patrick SteinhardtDec 18, 2023
  25. Andy KoppeDec 16, 2023
  26. Patrick SteinhardtDec 18, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.