【问题标题】:How to get only unique commits in git如何在 git 中只获取唯一的提交
【发布时间】:2012-02-29 08:38:56
【问题描述】:

我想获取所有分支中唯一提交的列表,但如果有人在分支中使用变基提交松散的父母。如何解决这个问题呢?如何获取做出独特更改的提交列表?

【问题讨论】:

  • 我认为您的意思是“失去”,而不是“松散”,但我不确定,因为我不清楚这句话的整体含义。

标签: git list logging commit history


【解决方案1】:

我用

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 或合并的提交也被“隐藏”在视图之外

【讨论】:

    猜你喜欢
    • 2017-04-24
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2012-02-21
    • 2017-10-22
    相关资源
    最近更新 更多