查看"拉取请求"在Git上审查/测试PR

时间:2015-01-23 04:53:00

标签: git github git-pull pull-request

我们有一个repo,我已经添加到我的本地分支作为Upstream。有人发了PR,我想复习一下。虽然我可以通过他们的Diff工具查看Github上的代码但是我想在我的本地机器上进行测试并在真实设备上进行测试以确保它正常工作(Android repo就是这样)。

查看此PR的最佳方法是什么?

3 个答案:

答案 0 :(得分:9)

它有些未被记录,但GitHub在您的Upstream存储库中提供了拉取请求作为分支,因此您不需要为每个可能向您发送拉取请求的第三方添加远程控制。

所以

git fetch Upstream pull/1044/head:pr1044-from-someone

将在本地存储库中的pull请求中提交一个新分支 pr1044-from-someone ,您可以根据需要在本地查看和合并。

有关详细信息,请参阅help.github.com's Modifying an inactive pull request locally

答案 1 :(得分:2)

另一种选择是

  • 将PR的存储库添加为本地副本中的遥控器

    git remote add remote_name github.com/user/proj
    
  • 从此远程

    获取更改
    git fetch remote_name branch_name_to_fetch
    
  • 使用

    结帐更改
    git checkout remote_name/branch_name_to_fetch
    

现在你可以根据你在本地的需要测试它,你可以创建新的分支,在分支之间进行差异,等等。

PS:IMO,与您当前的方法相比,这有点单调乏味 - 如果您收到大量拉取请求,添加所有遥控器可能会令人困惑,并且所有分支历史记录都是次优的,补丁是完美的。

答案 2 :(得分:1)

我只知道如何做到这一点。让我解释一下我为大家做了多少同样的问题。

  1. 转到Github的PR页面。该网址应如https://github.com/YOUR-NAME/REPO-NAME/pull/1044/files
  2. 在网址末尾添加.patch,然后点击 Enter ,这样网址就像https://github.com/YOUR-NAME/REPO-NAME/pull/1044/files.patch
  3. 下载此文件或如果无法下载,请创建文本文件,复制页面并将其粘贴到文本文件中。确保扩展程序文件为.patch(不是.txt
  4. 创建新的本地分支并结帐到该分支
  5. 按照以下命令查看补丁中的更改。这只是统计数据,并不适用于任何内容:git apply --stat fix_empty_poster.patch
  6. 通过以下命令,您将看到有多接近麻烦:)如果没有抱怨,请高兴:git apply --check fix_empty_poster.patch
  7. 最后,您可以通过以下命令对其进行修补:git am --signoff < fix_empty_poster.patch
  8. 现在,您有一份分支副本供审阅。

    更多参考资料:

    1. GitHub Tip: download commits as patches
    2. How to create and apply a patch with Git
相关问题