我有一个旧分支,我想删除.但是,在执行此操作之前,我想检查对此分支所做的所有提交是否在某个时刻合并到其他分支中.因此,我希望看到所有提交到我当前分支的提交尚未应用于任何其他分支[或者,如果没有一些脚本,这是不可能的,如何看到一个分支中尚未应用的所有提交到另一个给定的分支?].
假设我有以下情况:
B---D---F---G topic
/ /
--A---C---E master
Run Code Online (Sandbox Code Playgroud)
对于代码审查的目的,我想拔出DIFF从犯犯G,但不包括提交E和C即发生在主分支,也包括不提交F,可以合并提交.
换句话说,我想生成一个包含从F到G的变化的差异,并将这些变化与A到D的变化进行汇总.
换句话说,我希望审阅差异仅包含我对主题分支的更改,而不包括同时发生的大量代码.
这可能吗?如果git无法处理这样的"差异聚合",我会非常感谢有人可以提供一些关于外部命令如何做到这一点的指针(这样我就可以尝试编写一个bash脚本来完成这个技巧).
git diff commit_A commit_B向我展示了A和之间的所有差异B
在提交范围内A..B有提交--author=me和--author=someone else
有没有办法让git diff对我之间变动累计A和B,不包括其他的变化?
我想一个潜在的解决方案是解析git log --author=me和“求和”每次提交的差异。另一个潜在的想法可能是采用git blameat 点B并按在A和之间更改的行进行过滤B。
语境:
假设我在很长一段时间内正在处理一个大型功能。在这项工作中,我提交了许多子功能。为了跟上最新的代码库,git pull创建与其他贡献者的贡献的合并提交。我希望能够看到我迄今为止所做的累积更改,而不会看到其他人的更改。假设没有合并冲突(我们接触不同的代码区域,但可能在同一个文件中。