head detached means the current checkout is not synchronized with the current branch's head...this happens when you do a "git checkout" with a hash instead of a branch name (same happens if you checkout a tag). It's something you can ignore with a submodule unless you are actively developing in that submodule as it will do the correct thing all the time