# Install gitup with Homebrew, MacPorts

Update multiple git repositories at once. Version 0.5.2 via Homebrew; verified 2026-07-25. Also installable with macports: sudo port install GitUp.

## Install

```sh
sudo av install brew:gitup
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gitup
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install GitUp
```

  Evidence: MacPorts ports tree: devel/GitUp/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:gitup
- **Package manager:** Homebrew
- **Version:** 0.5.2
- **Source summary:** Update multiple git repositories at once
- **Homepage:** <https://github.com/earwig/git-repo-updater>
- **Repository:** <https://github.com/earwig/git-repo-updater>
- **Last updated:** 2026-07-25T10:24:36Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- gitup (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.5.2
## Project history and usage

gitup, also named git-repo-updater in its repository, is a Python command-line tool for updating many Git repositories in one run. Its history is unusually long for a small Git helper, beginning in 2011 and continuing through Python and Git ecosystem changes.

### Project history

The project began in 2011. Its README says it was originally created to manage a large collection of projects and deal with sporadic internet access, a very practical origin for a tool that fetches and fast-forwards many repositories.

The changelog shows steady evolution around Git safety and portability. Version 0.2 rewrote the backend to use GitPython instead of direct shell calls, version 0.3 added Python 3 support and safer fast-forward-only branch updating, and version 0.5 added recursion-depth control for discovering repositories in directories.

After a long 0.5.x line, version 0.5.2 in June 2025 added Python 3.13 support, dropped end-of-life Python versions, and switched project management to uv. That release kept the small utility aligned with newer Python packaging practice.

### Adoption history

gitup's adoption is package-manager practical rather than hype-driven. It is installable from uv, pipx, pip, Homebrew, and MacPorts, and PyPI metadata points back to the GitHub repository, changelog, and issue tracker. Homebrew carries it as a stable formula for users who maintain many checkouts on macOS or Linux.

The tool remains valuable in environments where a developer, sysadmin, or package maintainer has many cloned repositories and wants predictable fetch or fast-forward behavior without writing a local shell loop.

### How it is used

Practitioners pass one or more repository paths, pass a directory to discover repositories below it, or save paths as bookmarks. Running `gitup` without arguments updates bookmarked repositories, while options such as `--depth`, `--fetch-only`, and `--prune` tune how much discovery and branch updating happens.

The README emphasizes safety around dirty worktrees, diverged branches, detached HEADs, multiple remotes, and branches that cannot be fast-forwarded. That makes the tool useful for routine maintenance of many clones without forcing merges or rebases.

### Why package nerds care

gitup is the sort of unglamorous tool package managers preserve because it solves a real local-maintenance problem. It turns a common package maintainer habit, checking every repository before work, into one command with guardrails.

### Timeline

- 2011: v0.1 initial release.
- 2014: v0.2 rewrote the backend around GitPython.
- 2015: v0.3 added Python 3 support and safer fast-forward behavior.
- 2018: v0.5 added repository discovery depth control.
- 2025: v0.5.2 added Python 3.13 support and uv-based project management.

### Related projects

- GitPython.
- uv, pipx, pip, Homebrew, and MacPorts packaging workflows.
- Git maintenance scripts for multi-repository workspaces.

### Sources

- <https://api.github.com/repos/earwig/git-repo-updater>
- <https://formulae.brew.sh/formula/gitup>
- <https://github.com/earwig/git-repo-updater>
- <https://pypi.org/project/gitup/>
- <https://pypi.org/pypi/gitup/json>
- <https://raw.githubusercontent.com/earwig/git-repo-updater/main/CHANGELOG>
- <https://raw.githubusercontent.com/earwig/git-repo-updater/main/README.md>


## Security Notes

No matching local secret-handling manifest was found for gitup. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Other Package-Manager Records

- MacPorts - GitUp: normalized package name match | MacPorts ports tree: devel/GitUp/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/gitup.yml](https://github.com/mxcl/pkgdb/blob/main/combined/gitup.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
