2017-06-13 63 views
0

这里是场景:我可以克隆github回购与PR代码“虚拟”合并

我拥有一个github回购。有人创建并提交PR。没有合并冲突。我想克隆PR和我的回购的“最终结果”用于测试目的。

这可能吗?我知道我可以克隆PR回购和分支,但不能保证我克隆的是实际的PR请求(他们在提交PR后可能会做出其他更改)。

基本上,在GitHub中查看代码本身并不够好 - 我需要在本地机器上运行和测试它。我怎么做?

感谢, 弗拉基米尔

+0

制作另一个回购(可能甚至是专用用户)专门测试你正在构建的这个Github工具,测试它。那么就不存在外部干扰。你可以做任何你想要的回购,包括吹掉它,并重新创建每一个测试,以确保测试是孤立的,它处于已知的良好状态。而且您不必将生产API代码放入测试中。 – Schwern

回答

1

你可以简单地克隆PR回购和分支。 PR中引发的任何改变都会自动反映在PR中。

在GitHub的PR页,它说,PR的作者可以通过推到分支对他/她的叉子

+0

这就是我想要避免的:“关于哪个PR被引发的分支所做的任何更改都会自动反映到PR中。” – Vladimir

+0

当您克隆PR repo(或仅抓取远程分支)时,您将获得快照。除非您再次抓取,否则不会更新。 –

+0

没错,但我不知道我会从github合并的是我在本地测试的东西,除非我做另一个git pull ...只是在寻找一种方法来锁定版本 – Vladimir

0

你甚至都不需要克隆添加更多的提交 - 只是用树枝。提交当前的工作,创建一个新的分支,切换到该分支,将PR提交到本地回购(PR也只是一个分支),运行测试。如果一切正常 - 切换回开发分支,删除测试分支,在Github合并PR并拉动。

例子。假设当前分支是主分支,并且您想要测试Pull Request#42。提交当前的工作并创建一个分支: git checkout -b test-42。拉和合并PR:git pull origin pull/42/head。运行测试。切换回主站和除去试验分支:

git checkout master 
git branch -D test-42 

合并拉请求在Github上拉:git pull origin master