Git Subtree vs Submodule vs Clone
An alternative to a submodule is to use git subtree. This gives the benefits of git submodule but without pushing the complexity to the end user. The third party repository is merged into the main project tree, but there is metadata stored in such a way that you can: extract the third party repository later, if any interesting changes have been made merge in new updates from the third party repository (note merge, not overwrite) For Git users who are not sophisticated enough to understand submodules, the subtree approach makes getting a clone of your project no more difficult than any other clone. A short blurb from the documentation: ...