使用git的语言不可知依赖关系管理器。
gitman的Python项目详细描述
概述
Gitman是一个使用Git的语言无关依赖性管理器。它的目标是作为子模块的替换,并为管理嵌套git存储库的版本提供高级选项。
设置
要求
- Python3.6+
- git 2.8+(带stored credentials)
安装
全局安装此工具:
$ pip install gitman
或者将其添加到您的Poetry项目中:
$ poetry add gitman
配置
生成示例配置文件:
$ gitman init
或者在工作树的根目录中手动创建一个(gitman.yml
或.gitman.yml
):
location:vendor/gitmansources:-name:frameworkrepo:https://github.com/kstenerud/iOS-Universal-Frameworkrev:Mk5-end-of-life-name:coveragerepo:https://github.com/jonreid/XcodeCoveragerev:masterlink:Tools/XcodeCoverage-name:trufflehogrepo:https://github.com/dxa4481/truffleHogrev:masterscripts:-chmod a+x truffleHog/truffleHog.py-name:fontawesomerepo:https://github.com/FortAwesome/Font-Awesomesparse_paths:-webfonts/*rev:master-name:material-design-iconsrepo:https://github.com/google/material-design-icons.gitrev:mastergroups:-name:codemembers:-framework-trufflehog-name:resourcesmembers:-fontawesome-material-design-icons
忽略依赖项存储位置:
$ echo vendor/gitman >> .gitignore
用法
查看可用的命令:
$ gitman --help
更新依赖项
获取所有依赖项的最新版本:
$ gitman update
基本上:
- 在
<root>
/<location>
/<name>
处创建工作树
- 从
repo
提取并签出指定的rev
- 从
<root>
/<link>
(如果指定) - 对包含配置文件的所有嵌套工作树重复此操作
- 记录签出的实际提交sha(使用
--lock
选项) - 为每个依赖项运行可选的安装后脚本
其中rev
可以是:
- 提交sha的全部或部分:
123def
- 标签:
v1.0
- 分支:
master
- 一个
rev-parse
日期:'develop@{2015-06-18 10:30:59}'
或者获取某些依赖项甚至依赖组的最新版本:
- 更新单个存储库
$ gitman update framework
- 更新依赖项组
$ gitman update resources
恢复以前的版本
显示当前安装的特定版本:
$ gitman list
以后重新安装这些特定版本:
$ gitman install
删除依赖项
删除所有已安装的依赖项:
$ gitman uninstall