情况是这样的:
我正在审查一项包含 30 多个提交的重大任务。已经经历了一个审查和修复周期,现在我想审查仅修复。问题是,同时大约 200 多个提交从 master merge 到功能分支:
code review
↓
B---D---F---H---J---L---M---N---O feature
↗ ↗
--A---C---E---G---I---K master
如何将 H
到 O
范围的更改区分到 F
,同时忽略 merge 中的内容?
由于很多冲突,Rebase 很麻烦。
最佳答案
假设 L
是 merge 提交,你可以在 O
上创建一个临时分支,检查它然后运行 git rebase --onto J L
。这样,新分支会跳过 L
提交,git diff F
仅包含由提交 H、J、M、N、O
引入的更改.确保在开始之前没有未提交的更改。现有分支不受影响。
命令是:
git checkout -b temp O
git rebase --onto J L
git diff F
当您结束审核时,您可以运行:
git checkout feature
git branch -D temp
再次检查 feature
并删除临时分支。
关于Git - 区分范围但忽略 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49530781/