是否有一种简单的方法可以使用 git 获取多个(两个以上)分支之间的差异? (类似于“ Octopus 差异”?)
情况是,有一个分支(称为分支 A)是多个其他分支(称为 B 和 C)以及其他修改 merge 的结果。 (分支 A 与分支 B 分离,进行了许多本地修改,然后 merge 了分支 C,随后进行了更多本地修改,然后进行了更多本地修改并重新 merge 以包含 B 和 C 分支上的更新。)
我想做的是查看分支 A 特有的所有本地更改 - 也就是说,查看对分支 A 所做的哪些更改不在分支 B 或分支 C 上。
最佳答案
从 B 中创建一个分支“bPlusC”,然后 merge “C”。与“A”进行比较。
git checkout -b bPlusC B
git merge --no-ff C
git checkout A
git diff bPlusC..HEAD
编辑:基于 R.M. 的评论:
如果 B 或 C 的提交不在 A 中,请使用此:
git checkout -b bPlusC $(git merge-base A B)
git merge --no-ff $(git merge-base A C)
git checkout A
git diff bPlusC..HEAD
关于git - 与 git 进行多分支差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27927451/