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
之间来回切换了。