git-subrepo
brew install git-subrepo
v0.4.9
MIT
Git Submodule Alternative
28
30-day installs · #5952
76
90-day · #6213
303
365-day · #6294
3.6k
★ GitHub stars · updated 6mo ago
Runtime dependencies
Build dependencies
GitHub topics
bash
git
Links
- https://github.com/ingydotnet/git-subrepo
- GitHub: ingydotnet/git-subrepo
- Brew formula source: Formula/g/git-subrepo.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"gnu-sed"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"bash"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Git Submodule Alternative",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:38:06+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "git-subrepo",
"github_default_branch": "master",
"github_last_commit_at": "2026-02-09T13:26:58Z",
"github_readme_excerpt": "=pod\n\n=for comment\nDO NOT EDIT. This Pod was generated by Swim v0.1.48.\nSee http://github.com/ingydotnet/swim-pm#readme\n\n=encoding utf8\n\n=head1 Name\n\ngit-subrepo - Git Submodule Alternative\n\n=head1 Synopsis\n\n git subrepo -h # Help Overview\n\n git subrepo clone \u003cremote-url\u003e [\u003csubdir\u003e]\n git subrepo init \u003csubdir\u003e\n git subrepo pull \u003csubdir\u003e\n git subrepo push \u003csubdir\u003e\n\n git subrepo fetch \u003csubdir\u003e\n git subrepo branch \u003csubdir\u003e\n git subrepo commit \u003csubdir\u003e\n git subrepo config \u003csubdir\u003e\n\n git subrepo status [\u003csubdir\u003e]\n git subrepo clean \u003csubdir\u003e\n\n git subrepo help [\u003ccommand\u003e | --all]\n git subrepo version\n git subrepo upgrade\n\n=head1 Description\n\nThis git command \"clones\" an external git repo into a subdirectory of your\nrepo. Later on, upstream changes can be pulled in, and local changes can be\npushed back. Simple.\n\n=head1 Benefits\n\nThis command is an improvement from C\u003cgit-submodule\u003e and C\u003cgit-subtree\u003e; two\nother git commands with similar goals, but various problems.\n\nIt assumes there are 3 main roles of people interacting with a repo, and\nattempts to serve them all well:\n\n=over\n\n=item * B\u003cowner\u003e - The person who authors/owns/maintains a repo.\n\n=item * B\u003cusers\u003e - People who are just using/installing the repo.\n\n=item * B\u003ccollaborators\u003e - People who commit code to the repo and subrepos.\n\n=back\n\nThe C\u003cgit-subrepo\u003e command benefits these roles in the following ways:\n\n=over\n\n=item * Simple and intuitive commandline usage (with tab completion).\n\n=item * Users get your repo and all your subrepos just by cloning your repo.\n\n=item * Users do not need to install C\u003cgit-subrepo\u003e, ever.\n\n=item * Collaborators do not need to install unless they want to push/pull.\n\n=item * Collaborators know when a subdir is a subrepo (it has a C\u003c.gitrepo\u003e file).\n\n=item * The C\u003c.gitrepo\u003e file never gets pushed back to the subrepo upstream.\n\n=item * Well named branches and remotes are generated for manual operations.\n\n=item * Owners do not deal with the complicatio",
"github_repo": "ingydotnet/git-subrepo",
"github_stars": 3579,
"github_topics": [
"bash",
"git"
],
"homepage": "https://github.com/ingydotnet/git-subrepo",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 28,
"installs_365d": 303,
"installs_90d": 76,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT",
"llm_generated_at": null,
"llm_model": null,
"name": "git-subrepo",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 5952,
"rank_365d": 6294,
"rank_90d": 6213,
"raw_hash": "23f8df9bdd8f2b99",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/g/git-subrepo.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "0.4.9",
"versioned_formulae": [],
"why_use_this": null
}