我对拉取请求、编辑问题并将它们与提交绑定以及其他我通常必须使用的东西特别感兴趣 命令行上的集线器 为了。然而,我已经开始使用 Magit,并且非常喜欢它的键绑定和通用界面——这部分我也想留在 emacs 中,而不是需要为拉取请求、问题等打开一个额外的 shell。

我能找到的可能为 Magit 添加最多 github 功能的软件包是:

可能参与这些项目的任何人都可以推荐他们如何比较以及什么可能是最适合将拉取请求集成到 Magit 环境中的方法吗?

有帮助吗?

解决方案

最终我将在 Magit 中实现这些东西(我是维护者),但我首先必须发布一个版本。

不幸的是,目前还没有第三方扩展可以填补这个角色。 magithub 现在已经坏了很长时间了。 magit-gh-pulls (作者:Yann,我的前任 Magit 维护者)也没有与 Magit 的变化保持同步。前一段时间我试图修复它,但当我发现这样做会导致完全重写时就放弃了。 gh.el 也是由 Yann 编写并由 magit-gh-pulls. 。我过去曾为它做出过贡献,但最终停止使用它,因为 (a) 它使用 url.el 结果证明这是非常不可靠的(b)它过于复杂。

所以我担心目前没有一个包可以满足您的需求。如果你想自己写,我建议你使用 request.el 然后仅实现您实际需要的 Github api 部分,以避免过度设计。

编辑:截至 2015 年 10 月 magit-gh-pulls保持 再次,但不再是官方扩展。我个人不使用它,因为我认为它应该或多或少。我目前使用“较少”的形式 magit-branch-pull-request 来自 magit-rockstar 图书馆。尽管我维护该库,但我并不认为它是官方扩展 - 它是按原样提供的。该功能非常基本,您给它一个问题编号,它会为您创建一个分支,仅此而已。

2016年9月编辑:我已经写了 ghub.elglab.el 作为替代品 gh.el. 。它们主要供我个人使用并提供 非常 很少,基本上它们给你的功能如下 ghub-get (resource &optional params data noerror), ,然后你必须查看相应的 api 文档来弄清楚什么 resource, params, , 和 data 你必须使用。此外,错误处理也不是很好,目前使用的是 url.el. 。我打算最终通过使用来改进两者 libcurl 在支持 ffi 的 Emacs 发布一段时间后。

其他提示

您可以通过设置获得简单的“手动”Github 支持 magit-git-executable"hub". 。然后你就可以使用所有 hub 命令和功能通过 magit-git-command (势必 : 在 Magit 缓冲区中)。这至少可以让你通过 Emacs/Magit 与 Github 交互。

尽管请注意,截至撰写本文时,这将不起作用,因为发布版本 hub 不认识 --literal-pathspecs 选项 ,Magit 使用该选项(看这里)。因此,在下一个版本发布之前,您需要从最新源安装 hub: https://github.com/github/hub#source

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top