18

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

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

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

4

2 回答 2

26

最终我将在 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 文档以弄清楚您必须使用什么。错误处理也不是很好,目前使用. 我打算在支持 ffi 的 Emacs 发布后使用一段时间来最终改进两者。resourceparamsdataurl.ellibcurl

2020 年 1 月编辑:一年多前我发布了forge.

Forge 允许您在舒适的 Magit 和 Emacs 的其余部分中使用 Git forge(例如 Github 和 Gitlab)。

于 2014-06-02T23:12:24.297 回答
2

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

尽管请注意,在撰写本文时,这将不起作用,因为发行版hub无法识别--literal-pathspecsMagit 使用的选项(请参阅此处)。所以在下一个版本之前,您需要从最新的源安装集线器:https ://github.com/github/hub#source

于 2015-10-26T21:04:01.843 回答