Complete guide on specifying branches or tags when adding Git submodules. Understand the underlying mechanism and practical examples for both branches and tags.