{"repo":"jacebrowning/gitman","free":true,"listed":false,"github":"https://github.com/jacebrowning/gitman","clone":"git clone https://github.com/jacebrowning/gitman.git","description":"Language-agnostic dependency manager using Git.","language":"Python","stars":225,"topics":["dependency-manager","version-control","git","command-line"],"license":"MIT","category":"cli-tools","readme_excerpt":"Overview Gitman is a language-agnostic dependency manager using Git. It aims to serve as a submodules replacement and provides advanced options for managing versions of nested Git repositories. Setup Requirements - Python 3.10+ - Git 2.8+ (with stored credentials) Installation Install this tool globally with pipx (or pip): or add it to your Poetry project: Configuration Generate a sample config file: or manually create one ( gitman.yml or .gitman.yml ) in the root of your working tree: Ignore the dependency storage location: Usage See the available commands: Updating Dependencies Get the latest versions of all dependencies: which will essentially: 1. Create a working tree at / / 2. Fetch from repo and checkout the specified rev 3. Symbolically link each / from / (if specified) 4. Repeat for all nested working trees containing a config file 5. Record the actual commit SHAs that were checked out (with --lock option) 6. Run optional post-install scripts for each dependency where rev can be: - all or part of a commit SHA: 123def - a tag: v1.0 - a branch: main - a rev-parse date: 'main@{2015-06-18 10:30:59}' Alternatively, get the latest versions of specific dependencies: or named groups: Restoring Previous Versions Display the versions that are currently installed: Reinstall these specific versions at a later time: Deleting Dependencies Remove all installed dependencies: Resources - Source code - Issue tracker - Release history","default_branch":null,"files":null,"tree":[],"storefront":"/r/jacebrowning","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jacebrowning/gitman/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}