This check ensures that if at all some how **new_head** is a tag then update_head won't proceed. In bare repo I guess detached head won't be desirable at any time.