Martin von Zweigbergk <martinvonz@xxxxxxxxx> writes: > On Sun, Jun 23, 2013 at 4:54 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: >> >> In other words, HEAD always either points to an unborn or existing >> branch or an existing commit. It's not clear to me what it would >> mean to detach from an unborn branch. > > I think it should mean that the next commit would be a root commit (of > course) and that HEAD would be detached and point to that commit. Yup. As Jonathan outlined how the current system works: - $GIT_DIR/HEAD could be a symref to a branch, which may or may not exist (the latter being "unborn"); or - $GIT_DIR/HEAD could be directly pointing at an existing commit, which is the definition of "detached", as you "detach HEAD at that commit". even though such a "I do not have any commit and I will not be on any branch" state were to be supported, the consequence of that would be that a natural implementation of such a state is to represent it by not having $GIT_DIR/HEAD at all. That will break quite a lot of things, as such a directory $GIT_DIR will not be treated as a git directory in the first place. Of course, you could fix them up to support it, but I doubt if it is worth the trouble. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html