Git Push Deployments
Some Background Information
tag (like many other things) is what's called a treeish. It's a way of referring to a point in the history of the project. Treeishes can be a tag, a commit, a date specifier, an ordinal specifier or many other things. A branch is just like a tag but is movable. When you are on a branch and make a commit, the branch is moved to the new commit you made indicating it's current position.
HEAD is a pointer to a branch which is considered "current". Usually when you clone a repository,
HEAD will point to master which in turn will point to a commit. When you then do something like
git checkout experimental, you switch the
HEAD to point to the
experimental branch, which might point to a different commit.
When you do a
git checkout v2.0 (
v2.0 in this case is a tag), you are switching to a commit that is not pointed to by a branch. The
HEAD is now "detached" and not po