V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wszgrcy
V2EX  ›  程序员

如何看别人的 pr?

  •  
  •   wszgrcy · 2021-12-03 08:37:33 +08:00 · 3547 次点击
    这是一个创建于 1064 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 比如别人合到我项目上的 pr,如果是改的少,在 github 上就可以直接看就行了
    • 如果改的比较多,并且不知道期望运行是否正确,应该如何实现呢?
    • 个人想到的可能是直接去他的代码里 clone.....但是感觉有点暴力,并且如何环境复杂的话审核 pr 更麻烦了,不能每一个都这么做
    • 问下经常评审代码的大佬,这个正规流程是啥?
    12 条回复    2021-12-03 13:24:57 +08:00
    villivateur
        1
    villivateur  
       2021-12-03 08:42:56 +08:00 via Android
    你可以拉取他的分支,然后在本地调试一下
    SingeeKing
        2
    SingeeKing  
       2021-12-03 08:46:07 +08:00 via iPhone
    看代码:clone 分支看
    查看是否按期望运行:CI
    Juszoe
        3
    Juszoe  
       2021-12-03 09:20:23 +08:00
    别人提交 PR 到你的项目的话,github 会帮你创建分支的,直接拉取之后审核就行
    shanyuhai123
        4
    shanyuhai123  
       2021-12-03 09:24:32 +08:00
    1. 代码分批提交,一次合太多无关联的打回
    2. 描述内容清晰且相对完整(项目不熟悉的人也能够快速了解这次解决了什么,发生了什么变化,可关联 issue )
    3. 你们需要补充测试(这个挺难)
    wszgrcy
        5
    wszgrcy  
    OP
       2021-12-03 09:29:53 +08:00
    @Juszoe @shanyuhai123 是我自己的开源项目,别人提 pr 了,但是由于是一个新的功能,所以比较多需要仔细看
    我看我这里的分支还是我自己的,是要去他 fork 的项目拉吗?
    crayygy
        6
    crayygy  
       2021-12-03 09:31:16 +08:00
    1. 人工 review ,多一双眼睛多一份安心
    2. UT ,多一个 UT 多一份保障
    3. 自动化 CI 合并 PR 之前跑一遍编译和测试

    上面三个都能做到的话,bug 肯定还会有,但是一些明显的错误还是能快速发现的。
    wszgrcy
        7
    wszgrcy  
    OP
       2021-12-03 09:34:28 +08:00
    找到了,git fetch origin pull/编号 /head 可以拉取下来指定的 pr
    2i2Re2PLMaDnghL
        8
    2i2Re2PLMaDnghL  
       2021-12-03 09:39:34 +08:00
    > 如果改的比较多,并且不知道期望运行是否正确,应该如何实现呢?
    这个就是 CI 的活,PR 触发 CI test
    成本上考虑可以先为典型路线进行 test

    ——

    本地处理,可以 clone 他的 repo (更精细的是把他的 repo 注册为一个 downstream remote 再 fetch ),然后用 IDE 看 commit 和 diff
    Vegetable
        9
    Vegetable  
       2021-12-03 09:46:24 +08:00
    git checkout -b 新分支 基础分支
    git pull https://github.com/对方 ID/仓库 发起 PR 的分支
    lance6716
        10
    lance6716  
       2021-12-03 09:53:46 +08:00 via iPhone
    装一下 GitHub cli ,然后 gh pr 1234 就切换好了
    otakustay
        11
    otakustay  
       2021-12-03 11:24:22 +08:00
    他的 PR 也是一个分支,你还能发一个 PR 到他的分支上做 PR 的 PR
    SoloCompany
        12
    SoloCompany  
       2021-12-03 13:24:57 +08:00 via iPhone   ❤️ 1
    @otakustay 不需要的,除非额外设置,fork 分支,在创建 pr 的时候默认会给目标拥有者 push 权限
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:26 · PVG 06:26 · LAX 15:26 · JFK 18:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.