我慢慢地了解到,除了经典的命令行工具之外,大多数git客户端不允许在合并之前从forked repos中检出pull请求以进行本地审查。尽管如此,很难确定客户端是否缺少拉请求检出功能。这让我想到了TortoiseGit。TortoiseGit是否支持从其他用户的forked仓库中检出pull-requests?如何做到这一点?注意:我不是指正常的分支 checkout 过程或创建拉取请求。我的意思是从另一个用户的forked repo中检查一个pull request。
osh3o9ms1#
TortoiseGit->Fetch.设置Arbitrary URL和Remote Branch。它们的值应该在pull request中找到。TortoiseGit->Switch/Checkout。用FETCH_HEAD设置Branch。您可以在此期间创建一个新分支,也可以稍后再创建。如果没有分支被创建,你将处于分离的HEAD状态。
Arbitrary URL
Remote Branch
FETCH_HEAD
Branch
jfewjypa2#
为了避免手动设置url和分支,如在接受的答案中,您可以选择TortoiseGit->Pull并单击Remote branch后面的...图标。所有的pull请求都会方便地出现在菜单中,你可以选择与id匹配的请求,例如在Github上,PR 204将有一个refs/pull/204/head和refs/pull/204/merge的引用。merge版本与PR所针对的分支合并,您无法方便地直接访问head。因此,拉merge版本,做测试,如果一切正常,你可以只是推它。如果没有,请将分支重置为上一次提交。
TortoiseGit->Pull
Remote branch
...
refs/pull/204/head
refs/pull/204/merge
merge
head
2条答案
按热度按时间osh3o9ms1#
TortoiseGit->Fetch.设置
Arbitrary URL
和Remote Branch
。它们的值应该在pull request中找到。TortoiseGit->Switch/Checkout。用
FETCH_HEAD
设置Branch
。您可以在此期间创建一个新分支,也可以稍后再创建。如果没有分支被创建,你将处于分离的HEAD状态。jfewjypa2#
为了避免手动设置url和分支,如在接受的答案中,您可以选择
TortoiseGit->Pull
并单击Remote branch
后面的...
图标。所有的pull请求都会方便地出现在菜单中,你可以选择与id匹配的请求,例如在Github上,PR 204将有一个
refs/pull/204/head
和refs/pull/204/merge
的引用。merge
版本与PR所针对的分支合并,您无法方便地直接访问head
。因此,拉merge
版本,做测试,如果一切正常,你可以只是推它。如果没有,请将分支重置为上一次提交。