【发布时间】:2012-02-29 08:38:56
【问题描述】:
我想获取所有分支中唯一提交的列表,但如果有人在分支中使用变基提交松散的父母。如何解决这个问题呢?如何获取做出独特更改的提交列表?
【问题讨论】:
-
我认为您的意思是“失去”,而不是“松散”,但我不确定,因为我不清楚这句话的整体含义。
标签: git list logging commit history
我想获取所有分支中唯一提交的列表,但如果有人在分支中使用变基提交松散的父母。如何解决这个问题呢?如何获取做出独特更改的提交列表?
【问题讨论】:
标签: git list logging commit history
我用
git log --oneline --graph --cherry-pick --left-right
您要查找的操作动词is --cherry-pick:
--cherry-pick当提交集受到对称差异的限制时,忽略与“另一端”的另一个提交相同的更改的任何提交。
例如,如果您有两个分支 A 和 B,则仅列出其中一侧的所有提交的常用方法是使用 --left-right,就像上面该选项描述中的示例一样。然而,它显示了从另一个分支中挑选出来的提交(例如,“b 上的第 3 次”可能是从分支 A 中挑选出来的)。使用此选项,此类提交对将从输出中排除。
左右的加入,更容易看出分支之间的差异:
git log --oneline --graph --cherry-pick --left-right BRANCH1...BRANCH2
< 6abfdcf only on BRANCH1
> 7b2127a only on BRANCH2
> 919ca24 only on BRANCH2
在这里,cherry-picks 或合并的提交也被“隐藏”在视图之外
【讨论】: