如果我从分支创建 Pull 请求
git checkout -b branch-for-first-PR
# edits and commits
git push origin branch-for-first-PR
在其中做一些工作,然后在第一个 PR 被审核时尝试在此基础上进行构建,我可能会这样做
git checkout branch-for-first-PR
git checkout -b branch-for-second-PR
# edits and commits
git push origin branch-for-second-PR
我遇到的问题是,第二个 PR 的差异显示了第一个 PR 中的所有更改,这让审阅者感到困惑。
有没有一种结构化的方法可以向代码审查工具(我现在只使用 Github)指出一个补丁依赖于另一个正在审查的补丁?理想情况下是这样的谷歌内部DIFFBASE=
这样审阅者就可以选择忽略与第一个 PR 相比没有变化的部分。
答案1
我认为,只要第一个分支尚未合并到 master,那么您的第二个 PR 也将显示第一个 PR 中的所有更改。
如果合并了第一个 PR 的分支,那么您的第二个 PR 将仅显示在那里完成的更改。
branch1 --------------------------------
|
--- branch 2 ---
|
--- branch 3
分支 1 和分支 3 之间的差异也会显示在分支 2 中所做的更改,但如果:
branch1 --------------------------------------
| | Merge to branch 1
--- branch 2 ---
|
--- branch 3 ---
如果分支 2 在分支 3 的开始处合并到分支 1 中,则:
分支 1 和分支 3 之间的差异将仅显示分支 3 的更改