UStackUStack
git-fire icon

git-fire

git-fire 一站式多仓库 Git 检查点 CLI:自动发现仓库,支持可选提交脏改动,并以安全防护推送备份分支/远程。

git-fire

git-fire 是什么?

git-fire 是一个跨多个 Git 仓库的仓库生命周期管理命令行工具。其核心目的是让你使用一致的工作流“检查点”多个仓库:它能发现仓库、可选自动提交脏改动,并以安全防护推送备份分支/远程,确保本地独有工作不丢失。

该项目适用于需要可靠、可审计的多仓库移动场景——例如需要一致恢复路径,并避免手动推送循环可能失败的情况(比如网络中断、认证问题或 shell 错误)。项目目前处于 beta 阶段。

主要特性

  • 一键多仓库检查点:自动发现仓库,然后执行备份导向的推送序列,而非要求逐仓库手动步骤。
  • 可选自动提交脏改动:启用时可从本地变更创建提交(默认工作流描述为自动提交脏改动,除非禁用)。
  • 备份分支/远程推送行为:作为检查点一部分推送备份分支/远程,确保工作有可恢复位置。
  • 安全防护与可审计恢复路径:设计用于跨多个仓库提供一致、可检查的恢复移动。
  • 预览干跑模式:通过 --dry-run 支持“先预览(安全)”方法,观察工具将执行的操作。
  • 紧急一行自举脚本模式:描述了紧急情况下的“紧急自举脚本”路径,建议先检查 scripts/emergency.sh
  • TUI 与配置行为:仓库文档包含 TUI(附截图和“颜色配置文件”)以及专属“配置与行为”章节。

如何使用 git-fire

  1. 使用文档化方法安装 git-fire:Homebrew (macOS/Linuxbrew)、WinGet (Windows)、Linux 安装脚本、本地 Linux 包 (.deb/.rpm) 或 Go 安装。
  2. (推荐)先预览变更:运行 git-fire --dry-run --path ~/projects 检查点行为,而不执行备份推送。
  3. 运行默认检查点工作流:执行 git-fire 进行仓库 README 中描述的标准多仓库流式检查点。
  4. 紧急情况仅在检查 scripts/emergency.sh 后使用紧急自举脚本方法,并优先使用发布资源及校验和。

注意:项目声明当 git-fire 在 PATH 中时,git-firegit fire 等效。

使用场景

  • 高风险变更前多仓库备份: 使用 git-fire 以一致工作流检查点多个仓库,而非重复逐仓库推送步骤。
  • 单一计划动作恢复认证/网络问题: 当手动推送循环易出错时,使用 git-fire 的备份导向流程跨仓库创建可审计、可恢复检查点。
  • 检查点工作区子集: 使用 --path 针对目录(示例:--dry-run --path ~/projects)限定多仓库操作范围。
  • 无法等待标准安装时的紧急自举: 遵循文档“In case of fire”方法自举紧急路径,使用命令中所示 RELEASE_TAG
  • 团队标准化仓库生命周期步骤: 使用 git-fire 文档化核心承诺与安全防护,保持跨环境多仓库检查点流程一致。

常见问题

  • git-fire 生产就绪吗? 项目明确声明为 beta 软件。指出核心多仓库备份流程今日可用,而某些路线图项尚未实现(例如 --backup-to 和 USB 目标模式)。

  • 我能在做变更前预览 git-fire 的操作吗? 可以。README 显示 git-fire --dry-run --path ~/projects 作为“先预览(安全)”步骤。

  • 紧急自举如何工作? README 提供一行命令,从给定 RELEASE_TAG 的仓库下载并执行 scripts/emergency.sh。建议先检查 scripts/emergency.sh,并提及 curl | bash 直接执行远程代码。

  • 有哪些安装方法? README 列出 Homebrew、WinGet、Linux 安装脚本、Linux 本地包 (.deb/.rpm)、Go 安装及 GitHub Releases 二进制存档。

  • “一键”包括什么? 文档化核心承诺是发现仓库、自动提交脏改动(除非禁用),并推送备份确保本地独有工作不丢失。

替代方案

  • 标准 Git 工作流结合逐仓库脚本: 你可以围绕 git statusgit commitgit push 编写自己的 shell 循环,但这会将一致性和错误处理的负担转嫁给你——这正是 git-fire 旨在减少的故障模式。
  • 通用多仓库 Git 工具(仓库管理实用工具): 这些工具可能有助于遍历多个仓库,但 git-fire 专为带备份分支/远程及所述安全防护的检查点设计。
  • 逐仓库手动创建备份分支: 这很直接,但对多个仓库而言繁琐且易出错,尤其在认证或网络问题发生时。
  • 支持批量操作的 GUI Git 客户端: 某些客户端提供跨仓库的批量操作,但 README 强调的紧急自举、dry-run 预览及一致可审计检查点流程可能与 GUI 导向的工作流不同。
git-fire | UStack