Third-party subproject management solutions
If you don’t find a good fit in either git subtree
or git submodule
, you can try to use one of the many third-party projects to manage dependencies, subprojects, or collections of repositories.
One such tool is repo
(https://android.googlesource.com/tools/repo/) used by the Android open source project to unify the many Git repositories for cross-network operations.
Another tool is gil
(gitlinks) (https://github.com/chronoxor/gil) to manage complex recursive repositories dependencies, with cross references and cycles. Compared to submodules, gil
avoids including the same dependency multiple times if the superproject and its subproject use the same library as a dependency. This tool also makes it easier to contribute changes upstream than with git subtree
.
If you need to split a single monolithic repository into many standalone repositories, besides git subtree split
, you can use a third-party splitsh-lite
tool. If, on the other...