27 个版本
新 0.7.17 | 2024年8月15日 |
---|---|
0.7.16 | 2024年4月27日 |
0.7.15 | 2023年11月6日 |
0.7.13 | 2023年5月6日 |
0.4.0 | 2021年11月29日 |
9 在 #git-tool
221 每月下载量
395KB
9K SLoC
GRM — Git 仓库管理器
GRM 帮助您以声明式方式管理 Git 仓库。在 TOML 或 YAML 文件中配置您的仓库,GRM 负责其余工作。
此外,GRM 还可以以直观的方式使用 Git 工作树。
请参阅 官方文档 了解安装和快速入门。
为什么?
我在机器上有许多仓库。我的东西、分支、其他人的仓库的快速克隆、从未启动的项目……简而言之,我失去了控制。
为了在机器之间同步这些仓库,我一直使用 Nextcloud。问题是,Nextcloud 对经常变化的小文件不太高兴,就像 .git
中的文件。Git 也假设这些文件尽可能以原子方式更新。Nextcloud 不能保证这一点,所以在我同步期间运行 git status
时,总会出现问题。并且解决这些冲突真是令人不快……
最后,我认为 Git 仓库根本不属于像 Nextcloud 这样的东西。Git 已经在管理内容和版本,所以没有必要让另一个工具做同样的事情。但当然,在新的机器上从头开始设置所有这些仓库太麻烦了。如果有一个命令可以克隆所有这些仓库怎么办?
此外,我曾经转移了我的个人 Git 服务器的域名。我手动更新了一些远程仓库,但仍然在长时间未触及的项目中遇到旧的、过时的远程仓库。如果在同一个地方更新所有这些远程仓库怎么办?
这就是GRM的诞生过程。我是一名基础设施即代码的粉丝,GRM有点像为你的本地Git仓库量身定制的Terraform。编写配置,运行工具,你的仓库就准备好了。唯一由Git跟踪的是仓库列表本身。
组件
toml
用于配置文件。serde
,以及serde_yaml
和serde_json
。因为我们毕竟在使用Rust。git2
,对libgit2
的安全包装,用于所有Git操作。clap
,console
,comfy_table
和shellexpand
,用于良好的用户体验。isahc
作为forge集成的HTTP客户端。
链接
镜像
此仓库可在多个forge上找到
依赖项
~16–26MB
~456K SLoC