git-subrepo

Alternative to git-submodule(1) and git-subtree(1)

Description

git-subrepo allows embedding and managing copies of other git repositories in your repo for purposes such as vendoring.

Commits in the parent repo involving the subrepo can easily be pushed back upstream even when they touch files outside the subrepo -- these will simply be omitted.

Pulling new upstream commits back into your repo is naturally also possible.

git-subrepo is designed such that only the maintainer of a repo will actually need to have it installed, contributors only need to do so if they wish to push/pull from the subrepo's upstream and user should never have to interact with git-subrepo at all since all of a subrepos file are available right after a plain git-clone.

This is unlike git-submodule(1)s where all users and contributors must be aware of their presence and deal with them.

git-subrepo is in principle somewhat similar to git-subtree(1) as it also embedds snapshot copies of other repos, however it is much easier to use and the way the history is kept is less convoluted. Pulling any number of new commits from a subrepo's upstream will result in only a single commit in the parent repo for example.

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Homepage

https://github.com/ingydotnet/git-subrepo


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install git-subrepo