跳转到主要内容

Multigit是一个图形工具,旨在简化使用多个git仓库的项目工作。

项目描述

Checked with mypy Continuous Integration

Multigit

由Philippe Fremy在IDEMIA(philippe.fremy at idemia.com)创建

Multigit是一个用于处理由多个git仓库组成的项目图形工具。

如果您认为 子模块子树Google仓库 不适合您,那么您可能就来到了正确的位置。

注意:在PyPi上,Multigit注册为multigit_gx,因为已经有一个名为multigit的软件

通常,它可以让您

  • 同时从多个仓库获取或拉取
  • 直观地识别哪些仓库已被修改或需要更新(推送或拉取)
  • 在部分仓库中创建一个新的分支
  • 切换到仅在部分仓库中存在的分支(但您不记得是哪一个)
  • 同时在多个仓库中执行提交并推送
  • 在有趣的仓库上启动您首选的git前端
  • 将您的仓库状态导出到文件,以便在同事的电脑上重现
  • 等等...

这种需求源于我的工作环境,在那里一个项目通常包含三十到五十个git仓库。在这样的环境中,每一个简单的git操作都变成了一个复杂任务。多吉特(Multigit)让这一切变得简单。任何git操作,比如早晨的git fetching,只需一键就可以在所有仓库上运行。当到了提交更改并推送的时候,有一个图形界面可以瞬间定位哪些仓库被修改并需要提交,这真是一个救星。

多吉特是开源的,并在GitHub上开发。它最初是在我的雇主IDEMIA内部开发的。我想再次感谢他们允许我将它开源。

状态

多吉特在IDEMIA内部已经使用了几年,它成熟且稳定。

平台支持

  • Windows:非常稳定,主要开发平台,每天都在使用
  • Linux:稳定,但迄今为止用户基数较小
  • MacOs X:目前没有,欢迎贡献力量。

安装

多吉特的安装可以通过不同的格式进行

  • 图形安装程序(Windows):只需运行setup_multigit-v1.6.1.exe,然后在您的应用程序中查找多吉特

  • 便携式应用程序(Windows):只需解压缩multigit_portable-v1.6.1.zip并执行multigit.exe

  • PyPI软件包(Windows和Linux):推荐的方法是使用pipx来安装

    $ python -m pip install pipx $ pipx install multigit_gx

    $ # 使用:$ multigit

  • (未来)Chocolatey软件包

  • (未来)snap

许可证

多吉特在Apache 2.0许可证下发布。

多吉特依赖于几个其他开源项目

  • Python
  • PySide/Qt for Python
  • Concurrent Log Handler
  • PyInstaller

有关详细信息,请参阅文件FULL_LICENSING_INFORMATION.md

贡献

欢迎贡献力量:错误报告、改进、拉取请求。它们必须在Apache 2.0许可证下。

多吉特作为开源版本和IDEMIA内部版本一起开发。我会确保开源版本能够蓬勃发展。计划是将IDEMIA内部所做的改进定期分享给开源版本。

有关详细信息,请参阅文件CONTRIBUTING.md

如果您想与作者交流,请随时联系我:philippe.fremy at idemia.com

历史和替代方案

当我开始寻找如何解决在多个git仓库上运行一个操作的问题时,我找到的唯一工具是Google的repo。但它不符合我的需求

  • 它是基于命令行的,但我需要一个图形工具
  • 它需要学习一组新的命令来操作,而我想保持git流程和知识。

我也看了git子模块,但出于同样的原因,我不喜欢这个解决方案:不是图形化的,复杂化了工作流程,并且需要学习一组新的命令。

因此,多吉特应运而生。在IDEMIA内部,人们非常喜欢它,因为它使拥有40个git仓库的环境中的生活变得简单,而且不需要学习新工具的曲线。

自多吉特开发以来,已经出现了其他具有类似功能的工具(其中一些也被称为多吉特)。然而,从我最后一次检查来看,它们都是基于命令行的工具。多吉特是唯一提供图形界面的工具。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

multigit_gx-1.6.1rc1.tar.gz (898.0 kB 查看哈希值)

上传时间 源代码

构建发行版

multigit_gx-1.6.1rc1-py3-none-any.whl (624.5 kB 查看哈希值)

上传时间 Python 3

由以下支持