我有两个不同的分支J
和Z
,其中包含任意数量的提交:
.-- a -- b -- ... -- i -- J
/
... -- o -- x -- b' -- ... -- y -- Z
是否可以在git log
中显示范围内的提交内容
b..i
尚未被挑选到Z
?
而且,b..i
范围内的提交并未被挑选出来
进入b'..y
?
我正在寻找类似git log Z...i --cherry-pick --right-only --no-merges
的内容,但接受过滤范围。
编辑:我对此并不清楚,但我正在寻找一种在git log
中执行此操作的方法,以便我可以通过进一步使用--cherry-mark
和--left-right
。
理想情况下,编写类似git log b..i b'..y --left-right
并将b..i
视为的内容的方法(因为这似乎是先决条件。)
答案 0 :(得分:2)
git cherry
是您要使用的命令。看一下其手册页man git cherry
。它准确显示了您的用例:
__*__*__*__*__> <upstream>
/
fork-point
\__*__*__<limit>__-__+__> <head>
答案 1 :(得分:1)
您可以使用^
删除提交:
1)git log Z...i --cherry-pick --right-only --no-merges ^a
2)git log y...i --cherry-pick --right-only --no-merges ^a ^x