gitup
brew install gitup
v0.5.2_2
MIT
Update multiple git repositories at once
67
30-day installs · #4086
361
90-day · #3281
890
365-day · #4023
835
★ GitHub stars · updated 2mo ago
Runtime dependencies
GitHub topics
cli
git
multiple-repositories
multirepo
python
repository-management
Links
- https://github.com/earwig/git-repo-updater
- GitHub: earwig/git-repo-updater
- Brew formula source: Formula/g/gitup.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"python@3.14"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Update multiple git repositories at once",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:38:08+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "gitup",
"github_default_branch": "main",
"github_last_commit_at": "2026-06-07T23:06:19Z",
"github_readme_excerpt": "__gitup__ (the _git-repo-updater_)\n\n[](https://github.com/earwig/git-repo-updater/actions/workflows/ci.yml)\n\ngitup is a tool for updating multiple git repositories at once. It is smart\nenough to handle several remotes, dirty working directories, diverged local\nbranches, detached HEADs, and more. It was originally created to manage a large\ncollection of projects and deal with sporadic internet access.\n\ngitup works on macOS, Linux, and Windows. You should have a recent version of\ngit and Python 3.10+ installed.\n\n# Installation\n\nWith [uv](https://docs.astral.sh/uv/):\n\n uv tool install gitup\n\nWith [pipx](https://pipx.pypa.io/stable/):\n\n pipx install gitup\n\nWith [pip](https://github.com/pypa/pip/):\n\n pip install gitup\n\nWith [Homebrew](http://brew.sh/):\n\n brew install gitup\n\n# Usage\n\nThere are two ways to update repos: you can pass them as command arguments,\nor save them as \"bookmarks\".\n\nFor example:\n\n gitup ~/repos/foo ~/repos/bar ~/repos/baz\n\nwill automatically pull to the `foo`, `bar`, and `baz` git repositories.\nAdditionally, you can just type:\n\n gitup ~/repos\n\nto automatically update all git repositories in that directory.\n\nTo add bookmarks, either of these will work:\n\n gitup --add ~/repos/foo ~/repos/bar ~/repos/baz\n gitup --add ~/repos\n\nThen, to update all of your bookmarks, just run gitup without args:\n\n gitup\n\nDelete a bookmark:\n\n gitup --delete ~/repos\n\nView your current bookmarks:\n\n gitup --list\n\nYou can mix and match bookmarks and command arguments:\n\n gitup --add ~/repos/foo ~/repos/bar\n gitup ~/repos/baz # update \u0027baz\u0027 only\n gitup # update \u0027foo\u0027 and \u0027bar\u0027 only\n gitup ~/repos/baz --update # update all three!\n\nUpdate all git repositories in your current directory:\n\n gitup .\n\nYou can control how deep gitup will look for repositories in a given directory,\nif that directory is not a git repo by itse",
"github_repo": "earwig/git-repo-updater",
"github_stars": 835,
"github_topics": [
"cli",
"git",
"multiple-repositories",
"multirepo",
"python",
"repository-management"
],
"homepage": "https://github.com/earwig/git-repo-updater",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 67,
"installs_365d": 890,
"installs_90d": 361,
"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": "gitup",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 4086,
"rank_365d": 4023,
"rank_90d": 3281,
"raw_hash": "9dd3a3f3eb1ea7d0",
"recommended_dependencies": [],
"revision": 2,
"ruby_source_path": "Formula/g/gitup.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "0.5.2",
"versioned_formulae": [],
"why_use_this": null
}