1 个不稳定版本
0.1.1 | 2020 年 8 月 8 日 |
---|
#244 在 #running
31KB
733 行
dirmux
一次管理多个目录的目录复用程序。使用它,您可以对所有已标记的目录执行命令。
如果您有多个 Git 仓库并希望保持它们全部最新,或者需要对它们全部进行交叉更改,这将特别有用。
dirmux 命令可以在文件系统上的任何位置运行,因此无论何时您想查看 Git 仓库的状态或检查 TODO 列表,都很容易且快速。
动机示例
此命令将对所有已知目录运行 'git fetch --all' 命令
$ dirmux git fetch --all
输出将类似于这样(但带有颜色)
~/projects/blog:
Fetching origin
~/notes:
Fetching origin
如上所示,它捕获并打印每个命令的输出,并将其打印在目录条目旁边。如果输出为 空,则将省略整个目录。
这是一个内置命令,将打印每个目录的简短内容,每行一条,总结标记为 'work' 的 Git 仓库
$ dirmux -t work status
这将提供类似于以下内容的输出
~/projects/dirmux 1M main
~/projects/blog 1M 3? main
~/dotfiles 1M nvim_lsp2
~/notes 1? main
如果分支未更改,且 Git 索引或工作集中没有修改的文件,则将省略打印目录。
其他可能值得尝试的示例
$ dirmux -t home rg TODO # Finding something to do in my home projects
$ dirmux -t autosync git commit -am "Auto-sync" # Or equivalent script to also push...
为什么还需要另一个多 Git/多目录工具?
我已经长时间使用 gr,它始终在某些方面困扰着我。如果您在 100 个目录上操作,它相当慢,并且不并行执行命令,输出也相当冗长。对我来说,标签的使用不太直观(我已经在标签名称中包含了 '@',并多次让自己困惑)。这导致我以 Rust 作为有趣的雨天隔离项目再次构建这个工具。
依赖项
~17MB
~356K SLoC