It was just a combination of an old gripe I have with expecting git branch to checkout and conflating (HEAD pointing to a commit and branch pointing to a commit) with (HEAD pointing to a branch pointing to a commit). In what scenarios would you create a new branch and not check it out? Is there a scenario where you would do this in detached head mode? --- Could HEAD attach itself to a nearby branch whenever a command requiring an attached branch is called and HEAD points to a commit with only 1 branch attached to it? This would not include commit, since it does not require an attached branch and thus would not fail on detached mode, this should not break bc because it only affects commands that would otherwise throw an error. Alternatively, a more specific error message could be printed, prompting the user to attach their head to the branch on the commit. Regards. El sáb., 14 de dic. de 2019 a la(s) 19:41, <mattr94@xxxxxxxxx> escribió: > > > After going through the code and thinking about this. I think the unexpected results came from git branch not checking out the branch I created. > I know git checkout -b master would have been the result I wanted. If I were to create another commit with HEAD checked out instead of master, master would not update, only HEAD would. > > I guess the real crime here is that git branch does not checkout the branch created. I don't think I ever wanted to create a branch without checking it out, otherwise I would use git tag. > > The problem with this is that git tag doesn't create a new branch, but rather just a new tag so running something like: > > git tag my-tag > git checkout my-tag > git add . > git commit -m "message" > > wouldn't update my-tag either, you would need to create a new branch for that. Sometimes I want to create a branch without checking it out, as I'm sure many other users do. Is it an issue of documentation where maybe the behavior isn't clear? It does specifically say this in the description of git branch, but to be fair it is buried 6 paragraphs in >