git显示最后几个提交回到合并基础

时间:2014-12-06 18:52:02

标签: git git-history-graph

很久以前有两个分支(例如devel和master)。我想展示该分歧点的任何一方的历史,例如: +/- 10次提交。 (这是为了决定如何重新获得旧的分支,以改变命名约定)

很容易找到合并基础(git merge-base devel master),并在此之前显示10个提交(例如git log --oneline -10 $(git merge-base devel master))。

但是我不确定如何在合并基础之前找到10个提交点(比合法基础更近)以限制显示的提交范围(例如使用show-branch)。

有没有办法在最近的某个开发线上进行最近的提交?

1 个答案:

答案 0 :(得分:0)

为此你只需要grep的上下文选项。

git log devel master --no-abbrev-commit --oneline --date-order \
| grep -10 $(git merge-base devel master)

如果你想要为那些绘制图形结构,git log必须打印一些没有提交的行来保持所有连接正确并且会弄乱你的计数。因此,首先获取原始提交ID,然后告诉日志明确地将它们全部图形化:

git rev-list --date-order devel master \
| grep -10 $(git merge-base devel master) \
| xargs git log -21 --graph --decorate --oneline