1
mercury233 2023-05-21 11:02:15 +08:00 1
点开 wants to merge 1 commit into AAA:XXX from BBB:YYY 最后的链接
地址里 tree 前面的是对方仓库地址,后面的是分支名 在你的本地仓库运行 git pull 仓库地址 分支名 就可以了 比如 https://github.com/livid/v2ex-gae/pull/26 就是 git pull https://github.com/alexzhan/v2ex patch-1 当然,遇到合并冲突需要处理后再提交 如果遇到对方已经删库的情况,可以从主仓库 pull 最后一个对方 commit 的 hash ,比如 https://github.com/livid/v2ex-gae/pull/31 就是 git pull https://github.com/livid/v2ex-gae 150bf8ca539cea405f89090465d65d475b234fb1 |
2
mercury233 2023-05-21 11:12:29 +08:00 1
如果想在网页版操作,可以根据对方的分支重新开 PR 到你的库
打开任意仓库的 pull request 界面,点 new pull request ,右边输入对方仓库的对应分支,左边输入你的仓库的主分支即可 没错你可以创建一个右边不是你的库的 pull request (甚至两边都可以不是你的,但这明显很不礼貌) 当然如果对方已经删库就不能这么干了,只能命令行 |
3
winterbells 2023-05-21 12:21:07 +08:00 via Android 1
pr 链接结尾加 .diff 就是 patch 文件,感觉比 pull 什么的方便多了
|
4
a33291 OP @mercury233 #2 这个的确头一次知道,我一直以为只有自己的库可以发起 PR,谢谢普及
|
5
a33291 OP @winterbells 嗯,这种方式应该也行,目前好像没有类似的可以提取一个项目所有未合并的 PR 地址的工具,有的话应该可以自动生成所有 PR 的 patch 了,然后在本地自行重放 patch 就可以
|
7
mercury233 2023-05-21 13:17:52 +08:00 1
@a33291 这种工具意义不大吧,合并 patch 经常遇到冲突,也需要仔细的检查,最重要的是这个一般不是高频操作
需要的话 github 的 api 应该是很容易的 const prs = await octokit.request(`GET /repos/${repoName}/pulls`); |
8
a33291 OP #6 #7
我去了解哈 API 看是否支持 我之前遇到的上游仓库上的 PR 已经是无冲突状态,只是没有 merge.当然也有冲突的,这种就只有自行合并了. |
9
nightwitch 2023-05-21 13:54:26 +08:00 via Android
#5 是伪需求,pr 之间肯定是要挑选的,pr 和 pr 之间的特性往往也是有冲突的。
|