大多数为 emacs 开发的 Magit/github 扩展,用于拉取请求

2024-03-26

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

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

  • Magithub https://github.com/nex3/magithub
  • 玛吉特 GH 拉动 https://github.com/sigma/magit-gh-pulls
  • gh.el https://github.com/sigma/gh.el

可能参与这些项目的任何人都可以建议如何比较它们以及什么可能是最适合将拉取请求集成到 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 is 保持 https://github.com/sigma/magit-gh-pulls再次,但不再是官方扩展。我个人不使用它,因为我认为它应该或多或少。我目前使用“较少”的形式magit-branch-pull-request来自magit-rockstar https://github.com/tarsius/magit-rockstar图书馆。尽管我维护该库,但我并不认为它是官方扩展 - 它是按原样提供的。该功能非常基本,您给它一个问题编号,它会为您创建一个分支,仅此而已。

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

2020年1月编辑:一年多前我已经释放forge https://emacsair.me/2018/12/19/forge-0.1/.

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大多数为 emacs 开发的 Magit/github 扩展,用于拉取请求 的相关文章

  • 如何添加私有 github 存储库作为 Composer 依赖项

    我在 Laravel 5 1 项目的composer json 中有以下内容 用于添加公共 github 存储库作为依赖项 repositories type package package name myVendorName my pri
  • 最新的CEDET版本无法加载语义包

    我在加载 Alex Ott 推荐的一些语义包时遇到问题他著名的 CEDET 指南 http alexott net en writings emacs devenv EmacsCedet html使用最新版本的 CEDET 时 我之前的设置
  • 如何从 ispell 私人词典中删除条目?

    我想知道如何从 ispell 私人词典中删除一个 错误插入的 条目 单词 EDIT 经过更多挖掘后 我仍然无法从默认字典中删除条目 但我认为解决方案可能是构建哈希程序 问题是生成要删除的条目列表 我找不到简单的示例 您应该能够编辑您的个人词
  • 显示哪些与特定模式匹配的文件在 git 分支之间发生了更改

    我想合并两个分支 但在此之前 我想检查文件名以以下字符结尾的所有文件上两个分支之间的更改 twig 是否可能 或者我应该使用一些 bash magic 像git diff name only branch1 branch2 grep twi
  • Emacs 关于 python 模式函数的默认提示

    在 python 模式下 有一个名为 py execute region 的函数 它将突出显示的代码区域发送到 Python 缓冲区进行评估 评估后 光标位于 Python 缓冲区中 但我希望它保留在脚本缓冲区中 以便我可以继续生成更多代码
  • git tag -l 不会删除已删除的标签

    这是场景 我将我的存储库克隆到一个定期更新的目录 git pull 现在我又创建了一个目录并签出了相同的存储库 我必须创建一些标签 但我错误地创建了名称错误的标签 所以我从第一个目录中删除了标签 git tag d old git push
  • Emacs Evil“重复”(点)行为

    我的中有以下行 emacs define key evil normal state map M j lambda interactive evil next line 5 这使得文件中的导航变得更加容易 例如 与M j我在下面 5 行 所
  • 使用不同的配置文件设置 Git 的开发和测试分支

    我们有一个 WordPress 安装 它有不同的实时 测试 开发配置文件 我知道如何让 Git 忽略wp config php文件 但我想在每个分支中有一个不同的 WP config 文件 这样当开发人员切换到 Dev 时 它将使用 Dev
  • jgit - 基于文件扩展名的 git diff

    我正在使用 JGit API https www eclipse org jgit https www eclipse org jgit 访问 git 存储库 在 git 存储库中 我还存储 txt 文件和其他文件格式 我遇到了一个要求 我
  • eGit/ZendStudio 9 生成的 Refspec HEAD:refs/for/refs/heads/master 是什么意思?

    在 ZendStudio 9 中从 Git 设置一个项目 基于 eclipse 和 eGit 它生成一个安静的正常获取引用规范 Remote Fetch Specification refs heads refs remotes origi
  • Git 工作流程和 Gerrit

    我正在尝试使用 Gerrit 实现 git flow 类型的工作流程 但我似乎无法弄清楚最后一块拼图 我的问题有两个先决条件 Gerrit 只会对一个分支执行合并 我不允许将合并提交推送到 Gerrit 更改获得批准后 合并必须由 Gerr
  • 对于单个开发人员来说,是否值得从 SVN 转向 Git?

    自 2013 年起 此线程很可能已过时 当存储库主要由单个开发人员访问时 是否值得从 SVN 转到 GIT 我有几台用于开发的机器 主要不是用 C 开发 但我的存储库中混合了 VB VB Net PHP C C HTML Batch BAS
  • 无法使用 git 克隆任何存储库

    我尝试克隆一些存储库 但总是遇到相同的错误 我在哪里可以找到有关此错误的更多信息 错误日志文件或类似的文件 或者也许有人知道可能出了什么问题 git clone http github com creationix nvm git nvm
  • 在github上打开时如何更改Visual Studio的版本

    我有VS2015和VS2017 当我在 GitHub 上选择 在 Visual Studio 中打开 时 我想将其更改为使用 VS2017 而不是 VS2015 我怎样才能做到这一点 通过另一个问题找到了答案 使用 github 时 找不到
  • 无法放弃 git 中的更改

    一两周前 我拿了一些文件 这些文件是我用一个简单的程序存档的find sed tar xz gpgbash 脚本 将它们全部解压 并将它们的内容放入 git 存储库中 提交 将下一个档案内容放入存储库中 提交 冲洗并重复 以便拥有一个更好的
  • 导入数千条记录后无法推送到 Heroku

    我有一个问题 我认为我的 sqlite3 数据库太大 我将大约 100 000 条记录导入到数据库中 并且能够 git Push 和 git Push heroku 现在我可能犯了一个错误 导入了太多记录 500 000 我能够推送到 gi
  • 使用 Github for Windows 通过 SSH 处理自己的私有 Git

    现在 我正在使用 msysgit 来使用 SSH 来处理存储在 ec2 Amazon 云服务器上的我自己的私有存储库 到目前为止 我已经能够通过 Git Bash 成功连接到这些存储库 使用 ssh keygen 创建 ssh rsa 公钥
  • 如何使 git merge 处理对我的工作树的未提交更改?

    我和一位同事目前都在主分支上工作 我的工作树中有一些我不想提交的代码 调试语句等 现在 如果他对其中一些相同的文件提交更改 我将无法合并它们 git merge origin master Updating 1b8c5c6 eb44c23
  • git 项目与存储库,根本区别是什么?

    我有两个项目当前使用 SVN 我正在迁移到 git 我注册了 gitorious 并且可以选择创建新项目或添加存储库 我刚刚开始使用 git 所以我不知道有什么区别 或者更确切地说 如果我只是在一个项目下使用存储库 这意味着什么 如果我这样
  • emacs24 语义补全

    我正在尝试使用 emacs 24 及其附带的 cedet 版本来完成语义 补全适用于我在自己的源文件中定义的类 但补全不适用于标准库或 STL 内容这是我的 emacs 配置 require cedet require semantic r

随机推荐

  • jQuery UI 在搜索之前自动完成显示结果

    我希望在我的项目中在关注自动完成输入之前显示一些初步结果 这些结果应该与自动完成 ajax 请求的结果相同 我可以通过自动完成的标准选项来做到这一点 还是应该编写相同的 JavaScript 代码 您应该设置minLength选项0 如果您
  • 如何使用javascript下载网页[重复]

    这个问题在这里已经有答案了 可能的重复 Javascript 可以读取任何网页的源代码吗 https stackoverflow com questions 680562 can javascript read the source of
  • 打印 C 字符串(UTF-8)时的 NSLog() 与 printf()

    我注意到 如果我尝试使用格式说明符 s 打印包含 UTF 8 字符串表示形式的字节数组 printf 说得对 但是NSLog 得到它乱码 即 每个字节按原样打印 因此例如 被打印为2个字符 这很奇怪 因为我一直认为NSLog 只是print
  • 如何根据条件 $push 字段?

    我试图在 MongoDB 聚合管道的 group 阶段有条件地将字段推入数组 本质上 我有包含用户名的文档以及他们执行的一系列操作 如果我将用户操作分组如下 group id name user name actions push acti
  • rows_merged在compactionhistory中意味着什么?

    当我发出 nodetool compactionhistory I get compacted at bytes in bytes out rows merged 1404936947592 8096 7211 1 3 3 1 什么是 1
  • 允许在 ckeditor 中嵌入 oembed 标签

    我想将 oembed 标签放入 TYPO3 的 ckeditor RTE 中 这样我想将像 Instagram Facebook 或 Twitter 这样的社交帖子放入一些新闻文章中 在一些文本的中间 为此 我激活了 ckeditor 的嵌
  • 快速连续旋转动画不那么连续

    这是我的代码 目的是连续旋转名为 swirls l 的 UIImageView 但是 每次旋转开始 结束之间都会有一个小暂停 我已经浏览了每一个动画教程 但无法弄清楚错误是什么 let fullRotation CGFloat M PI 2
  • 库中是否可以有 SyncAdapter?

    我正在开发一个将由多个应用程序使用的库 图书馆需要进行网络同步 我已经创建了一个存根提供商和帐户 如此处所述 http developer android com training sync adapters index html 问题是
  • MongoDB 查询注释以及用户信息

    我正在使用 nodejs 和 mongod 不是 mongoose 创建一个应用程序 我有一个问题让我头痛了几天 有人请建议一个方法 我有一个像这样的 mongodb 设计 post id ObjectId picture some url
  • Django - 使用 ManyToManyField 进行反向查找

    我正在尝试遵循 django 文档中的代码 class Person models Model name models CharField max length 128 def unicode self return self name c
  • 相当于 float128

    如何使用等效的 float128在Python中 我应该使用什么精度decimal getcontext 我的意思是 精度是以小数位还是位指定的 from decimal import getcontext prec 34 or 128 是
  • 如何在 Selenium Python 中设置 Chrome 的首选项

    我可以如下设置 Firefox 的首选项 set preference profile set preference set preference network http response timeout 30 set preferenc
  • 如何为特定类别自定义 AutoFixture 行为

    我需要启用 AutoFixture 来创建具有循环引用的类型实例 来自第三方提供的 API 为此 我可以删除默认的ThrowingRecursionBehavior如下所示 public class RecursiveObjectCusto
  • Backbone JS 模型和集合 URL

    如果我有一个名为 Book 的模型和一个名为 Library 的集合 定义如下 Book app Book Backbone Model extend defaults title No title author Unknown Libra
  • c - realloc() 在 Windows 7 中成功,但在 Windows XP 中失败,为什么?

    所以我的这段代码有以下内容realloc block char ptr NULL void realloc ptr unsigned int new size void temp NULL temp realloc ptr new size
  • 从 TFS 获取文件更改历史记录以实现自定义“责备”异常行为

    我正在尝试采取某种方法来确定当我们的应用程序 在工作中 抛出异常时该 责备 谁 当然这可能是我造成的 但我可以接受 但要做到这一点 我需要 TFS 中文件的历史记录 以便我可以检查谁最后在异常行处进行了更改 当然 它并不总是在插入错误更改的
  • 使用 R 传递多个搜索请求来抓取表

    我尝试使用名字和姓氏在网站上进行多次搜索 https npiregistry cms hhs gov registry https npiregistry cms hhs gov registry 然后创建输出的数据框 我发现这与中描述的类
  • VS 2008 中“添加到观看”的键盘快捷键

    是否有任何键盘快捷键可以添加突出显示的变量以在 VS IDE 中观看 右键单击并在很长的下拉菜单中选择 添加到观看 选项需要一些时间 这很烦人 谢谢 苏雷什 默认情况下不是 您可以添加一项 工具 选项 环境 键盘并在 显示命令 框中输入 w
  • 如何使用 Commons Exec 将命令的输出捕获为字符串?

    Commons exec 提供了一个 PumpStreamHandler 它将标准输出重定向到 Java 进程的标准输出 如何将命令的输出捕获到字符串中 他就是我找到的 import java io ByteArrayOutputStrea
  • 大多数为 emacs 开发的 Magit/github 扩展,用于拉取请求

    我对拉取请求 编辑问题并将它们与提交绑定以及其他我通常必须使用的东西特别感兴趣命令行上的集线器 https github com github hub为了 然而 我已经开始使用 Magit 并且非常喜欢它的键绑定和通用界面 这部分我也想留在