#git-repository #git #keep #track #help #tool #gfold

已删除 gfld

gfold是一个最小化版本的命令行工具,可帮助您跟踪多个Git仓库

1.0.4 2021年4月5日
1.0.3 2021年4月2日
1.0.2 2021年4月1日
1.0.1 2021年3月30日

#72 in #keep

Apache-2.0

8KB
151 代码行

gfold

GitHub Latest SemVer GitHub Tag Crates.io Build Status

gfold是一个由命令行驱动的应用程序,可以帮助您跟踪多个Git仓库。

user at hostname in ~/git
% gfold
great-journey      unclean   main      git@github.com:truth/great-journey.git
installation-zero  bare      main      https://github.com/the-ark/installation-zero.git
sierra             unpushed  dev       https://github.com/forward-unto-dawn/sierra.git
spark              clean     issue343  git@github.com:guilty/spark.git
tartarus           unclean   delta     git@github.com:covenant/tartarus.git
voi                clean     main      https://github.com/earth/voi.git

描述和动机

此应用程序在单个或多个目录中显示多个Git仓库的相关信息。虽然这个工具在范围和目的上可能看起来有限,但这是有意为之。

它按字母顺序打印每个仓库,并根据最长目录、分支和状态字符串进行填充。默认情况下,gfold查看当前工作目录中的每个Git仓库。但是,如果您想针对另一个目录,可以将该路径(相对或绝对)作为第一个参数传递。

我应该使用gfold还是gfld

Crates.io

gfldgfold的新版本,是最小化的版本。它只包含一个可配置的选项(一个可选的单个命令行参数用于目标路径)并且比原始应用程序体积小得多。

它旨在为原始应用程序的粉丝提供近乎无需配置的使用体验和更小的系统占用空间。它不保证更快的运行时性能,但实现了前两个目标。

与原始应用程序相比有两个主要的行为差异:只提供递归搜索(类似于gfold -r),并且所有结果都组合到一个表格中(受kubectl get pods -A的启发)。

安装

此存储库包含两个应用程序:gfold,主要的完整功能版本,和gfld,最小化版本。安装后者的推荐方法只有一个,而原始版本有多个安装方法。因此,本节从最小化版本开始。

对于所有安装步骤:强烈建议在兼容系统上运行strip来减小可执行文件的大小。以下脚本已在macOS和Linux系统上测试过

for i in $(command -v gfold) $(command -v gfld); do
    [ "$i" != "" ] && strip $i && du -h $i
done

上述脚本可以与已安装的应用程序、同时安装或未安装的应用程序一起使用。

如果您不知道应用程序安装在哪里,可以在兼容平台上使用which命令,或检查您的cargo install设置。

安装gfld

目前,唯一推荐的安装 gfld 的方法是使用 cargo 安装 crate。幸运的是,最小化的应用程序几乎可以在所有主要平台上运行。

cargo install gfld

使用 cargo-update 来保持 crate 更新很容易。

cargo install cargo-update
cargo install-update -a

安装 gfold

您可以使用 macOS HomebrewLinuxbrew 来安装 tap

brew install nickgerace/gfold/gfold

您可以使用支持从 AUR 安装软件包的 Linux 发行版 来安装:[gfold](https://aur.archlinux.org/packages/gfold/)(从源码编译)和/或 [gfold-git](https://aur.archlinux.org/packages/gfold-git/)(VCS/开发包)。许多人选择使用 AUR 辅助工具,如 yayparu,来安装他们的 AUR 软件包。

yay -S gfold
paru -S gfold

您几乎可以使用 cargo 在任何平台上安装 crate。有关如何使用 cargo-update 保持 crate 更新的说明,请参阅上面的 gfld 部分。

cargo install gfold

用法

对于 gfold:传递 -h--help 标志来查看此应用程序的所有选项。

gfold
gfold ..
gfold $HOME
gfold /this/is/an/absolute/path
gfold ../../this/is/a/relative/path
gfold ~/path/to/multiple/repositories/ -r
gfold -r $HOME/path/to/multiple/repositories

对于 gfld:您也可以传递 -h--help。然而,配置方法只有一种:一个可选的单个命令行参数用于目标路径。这是最小化应用程序设计的结果。

gfld
gfld ..
gfld $HOME
gfld /this/is/an/absolute/path
gfld ../../this/is/a/relative/path

兼容性

这两个应用程序都旨在在任何一级的 Rust 目标上运行。如果您所在的平台不受支持,请 提交问题

其他文档

行为准则

此存储库遵循并执行 Rust 编程语言的 行为准则

更多信息

  • 作者:[Nick Gerace](https://nickgerace.dev)
  • 许可证:[Apache 2.0](https://github.com/nickgerace/gfold/blob/HEAD/./LICENSE)

特别感谢...

  • [jrcichra](https://github.com/jrcichra) 为原始早期 CI 管道添加了跨操作系统支持
  • [orhun](https://github.com/orhun) 维护了所有 [gfold](https://github.com/orhun/PKGBUILDs) 的 AUR 软件包
  • [yaahc](https://github.com/yaahc) 在早期重构期间提供指导

依赖项

~8–16MB
~277K SLoC