#git-branch #git-repository #merge #command-line #conflict #compare #remote

app probranchinator

一款帮助您分析git分支冲突的工具

7个版本

0.3.1 2023年5月14日
0.3.0 2023年5月9日
0.2.4 2023年5月8日
0.1.0 2023年5月1日

#2 in #conflicts

Download history 27/week @ 2024-03-11 3/week @ 2024-04-01

80 个月下载量

MIT 许可证

490KB
965

probranchinator

这是一个命令行工具,它会比较仓库中所有分支,并显示它们如何相互合并。

Gif

工作原理

  1. 它从命令行选项中获取远程仓库URL
  2. (如果需要) 将远程仓库克隆到临时本地仓库
  3. 从远程获取所有分支并修剪已删除的分支
  4. 比较选定的分支(通过CLI传递或最近更新的)
  5. 在终端输出结果

工具比较分支并显示每个比较的表格。该表中的每一项代表将一个分支合并到另一个分支的尝试。您可能会得到以下结果之一

  • ✅✅ 无变化:已经是最新的
  • 🚀✅ 无冲突:可以快速前进合并
  • 🤝✅ 无冲突:可以自动合并
  • 🚧🔧 发现冲突,需要手动解决
  • ❌❌ 无法合并(通常意味着您的分支没有共同的祖先)
  • ❌🤔 未知合并分析结果(这实际上不应该发生)

请注意,由于与系统/协议的兼容性,目前需要安装并可在 git CLI 中使用的 $PATH 执行克隆、获取和修剪操作。其他操作直接在克隆的仓库中执行以提高效率。工具在系统临时目录中创建临时本地仓库,因为正常的合并冲突分析会留下一个可能处于“脏”状态的工作树,我们不希望干扰用户可能存在未完成工作的仓库。

安装

最新版本 下载二进制文件并将其放在您的 $PATH 中。

工具需要安装并可在 $PATH 中使用的 git CLI。

使用脚本安装

您还可以使用 install.sh 脚本与 bash shell一起使用。它将下载最新版本并将其放在 /usr/local/bin 目录中。

curl -s https://raw.githubusercontent.com/strowk/probranchinator/main/install.sh | bash

目前只有少数平台提供预构建的二进制文件:Linux (x86_64 gnu),macOS(x86_64, aarch64) 和 Windows (x86_64 gnu)。

使用 cargo 安装

如果你的平台/架构不受支持,你可能需要从源代码构建工具。你需要安装 Rust 工具链。

然后你可以使用 cargo 安装工具

cargo install probranchinator

使用方法

probranchinator [OPTIONS] --remote <REMOTE> [BRANCHES]...

示例

probranchinator --remote=https://github.com/strowk/probranchinator-test.git

如果你想检查你的本地仓库,可以使用 file:// 协议

probranchinator --remote=file://$PWD

默认情况下,probranchinator 将分析最近更新的 10 个分支。你可以通过传递要分析的分支作为 CLI 参数来覆盖此设置

probranchinator --remote=https://gitlab.com/git-compose/git-compose.git master test-branch-2

或者通过更改要分析的最近分支数量

probranchinator --remote=https://gitlab.com/git-compose/git-compose.git --recent=2

要退出程序,请按 qCtrl+C

输出格式

默认情况下,probranchinator 将结果以交互式格式作为终端 UI 输出。

你也可以通过传递 --output=json 来将结果输出为 JSON 格式

probranchinator --remote=https://github.com/strowk/probranchinator-test.git --output=json

默认情况下,输出将格式化,但你可以传递 --pretty=false 来禁用该功能。

其他可用的格式包括

  • simple - 以单行输出每个分析结果
  • table - 以表格格式输出结果
  • markdown - 以 markdown 表格输出结果

依赖项

~17–29MB
~530K SLoC