I checked out a commit/branch from master, and then checked out back to master and wrote something. After that, I committed it, but I ended up with a detached HEAD. Why?
For recovering a detached-HEAD, you can :
git checkout master