Emacs中使用Forge管理GitHub Pull Request
文章目录
前言
使用 GitHub 与其他开发者合作需要频繁的创建 Pull Request 或者 Review 别人提交的 Pull Request 。
自从我使用 Emacs 来管理 Git 仓库后一直用的很舒服,但是这也仅限于自己的仓库。创建 Pull Reqeust 也是用的网页,这样的操作体验就不一致了,需要在 Emacs 和浏览器来回切换。
于是我搜索一圈发现在 Emacs 里可以使用 Forge 来创建 Pull Request ,所以本文会描述如何在 Emacs 中使用 Forge 来管理 GitHub Pull Request 。
配置
在使用之前需要先对 Forge 进行配置,主要有两步,分别是设置 GitHub 用户名和配置 GitHub Access Token
设置GitHub用户名
按照下面步骤执行,需要把 USERNAME 改为你的 GitHub 用户名
- 全局设置
git config --global github.user USERNAME - 只对当前仓库设置
git config --local github.user USERNAME
创建GitHub令牌
在创建 Pull Request 时需要用到 GitHub 的 API ,而访问这些 API 需要我们创建一个 TOKEN ,你可以在 Personal Access Tokens 中创建,你需要选择 repo、user、read:org这几个权限。
把创建好的 Token 保存到 ~/.authinfo.gpg 中,格式如下
machine api.github.com login USERNAME^forge password TOKEN
需要把 USERNAME 换成你的 GitHub 用户名, TOKEN 换成刚刚创建的,其它的可以不用动,这样就配置好了。
使用
在使用之前需要在 Magit Buffer 中使用 M-x 执行 forge-pull 进行初始化
Create Pull Request
要使用 Pull Request 需要有两个分支在远端,假设你在本地开发了一个 develop 分支,并且推送到了远程。
这时候你可以使用 @ c p 来创建一个 Pull Request ,接下来需要选择 Source branch 在这里就是 develop 、 并且选择需要合并的分支 Target branch 这里就是 master 选好之后回车就可以创建 Pull Request 。
然后你可以到 GitHub 上看看是不是已经创建好了 Pull Request
Merge Pull Request
当别人把功能开发好后,可以使用 b y 把需要的 Pull Request 拉到本地,然后进行 Review
Review 完了如果觉得没问题使用 m i 选择要合入的分支,然后别忘了使用 P u 推送到远程。
这样你就能在 GitHub 上看到这个 Pull Request 被合入了。
总结
总的来说在 Emacs 中管理 GitHub Pull Request 还是非常方便的,再也不用在浏览器和 Emacs 之间来回切换了。