branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
[gitweb.git] / Documentation / glossary-content.txt
index 7c15bc0f534c77e435e466d529a1a71dc304bfa1..2478a3963cc774f1bf73c56660a2d4c096ad4d94 100644 (file)
@@ -100,9 +100,22 @@ to point at the new commit.
 
 [[def_detached_HEAD]]detached HEAD::
        Normally the <<def_HEAD,HEAD>> stores the name of a
-       <<def_branch,branch>>.  However, Git also allows you to <<def_checkout,check out>>
-       an arbitrary <<def_commit,commit>> that isn't necessarily the tip of any
-       particular branch.  In this case HEAD is said to be "detached".
+       <<def_branch,branch>>, and commands that operate on the
+       history HEAD represents operate on the history leading to the
+       tip of the branch the HEAD points at.  However, Git also
+       allows you to <<def_checkout,check out>> an arbitrary
+       <<def_commit,commit>> that isn't necessarily the tip of any
+       particular branch.  The HEAD in such a state is called
+       "detached".
++
+Note that commands that operate on the history of the current branch
+(e.g. `git commit` to build a new history on top of it) still work
+while the HEAD is detached. They update the HEAD to point at the tip
+of the updated history without affecting any branch.  Commands that
+update or inquire information _about_ the current branch (e.g. `git
+branch --set-upstream-to` that sets what remote tracking branch the
+current branch integrates with) obviously do not work, as there is no
+(real) current branch to ask about in this state.
 
 [[def_dircache]]dircache::
        You are *waaaaay* behind. See <<def_index,index>>.
@@ -149,6 +162,10 @@ to point at the new commit.
 [[def_git_archive]]Git archive::
        Synonym for <<def_repository,repository>> (for arch people).
 
+[[def_gitfile]]gitfile::
+       A plain file `.git` at the root of a working tree that
+       points at the directory that is the real repository.
+
 [[def_grafts]]grafts::
        Grafts enables two otherwise different lines of development to be joined
        together by recording fake ancestry information for commits. This way