To include a few external git repositories in my "main" repository, there are a few options:
The first seems to be advised against by basically everybody. The second and third I believe are implementations of the subtree pattern.
Is one better? Which should I use? Why? How can I choose between them?
submodule is great to:
subtree is great for including the history of one repo into another.
So if those few external repositories have no vocation to end up with all the tags and commit history of the main parent parent, use submodules.
Otherwise, subtree is fine.