--- id: gitman version: "3.8.1" license: MIT license_treatment: permissive maintenance: active --- # gitman — A language-agnostic dependency manager using Git. License: permissive · Maintenance: active · Downloads: 121.9K/mo ## What it is and what it does Gitman is a language-agnostic tool for managing Git repositories as project dependencies. It replaces or augments Git submodules by allowing you to declare external repositories in a YAML configuration file, specify exact versions (by commit SHA, tag, or branch), and automatically fetch and link them into your project. It supports grouping dependencies, running post-install scripts, sparse checkouts of specific paths, and recording locked commit SHAs for reproducible installs. You configure dependencies once in gitman.yml, then use simple commands to update all nested repos to their specified versions, list what's currently installed, or restore previous versions. It's designed for polyglot projects where you need to pull in code from multiple Git sources without the rigidity of submodules. Use it for: - Manage multiple external Git repositories in a monorepo or multi-language project without Git submodules. - Pin exact versions of third-party libraries or tools that live in separate Git repositories. - Organize dependencies into logical groups and update them selectively by group name. - Automatically run setup scripts (e.g., chmod, build steps) after checking out each dependency. - Fetch only specific subdirectories from large repositories using sparse checkout paths. - Lock and restore reproducible dependency states across team members and CI/CD pipelines. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Gitman manages nested Git repositories as dependencies, offering a Git-based alternative to submodules with support for version pinning, sparse checkouts, and post-install scripts. Yes. Gitman is actively maintained, carries no known vulnerabilities, uses a permissive MIT license, and installs with low friction. It solves a real problem—managing multiple Git repositories as dependencies—that submodules handle poorly. Use it if your project needs to pull code from several external Git sources and you want version control, reproducibility, and scripting support without submodule complexity. ## Install pip install gitman uv add gitman poetry add gitman ## Installing gitman Before you install: Low install friction with a pure Python wheel distribution. Actively maintained as of 2026-08-10 with recent releases. Requires Python 3.10+ and Git 2.8+ with stored credentials configured. License in practice: MIT license permits commercial and private use with minimal restrictions—suitable for most projects. Quickstart: pipx install gitman # Create config file gitman init # Update all dependencies gitman update # Restore specific versions gitman install Requires Git 2.8+ with stored credentials configured; Python 3.10 or later. Verify before relying: - Whether sparse_paths (partial repository clones) work with all Git versions or have specific version requirements. - Performance characteristics when managing large numbers of nested repositories or very large individual repos. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 121.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags git dependency manager, submodules alternative, nested git repositories, version control dependencies, git-based package management, monorepo dependency tool, git-dependency-management, monorepo-tooling [View on SkillFed](https://skillfed.io/packages/gitman) · [View on PyPI](https://pypi.org/project/gitman/)