git cherry develop feature/ABC
- 1014d04c60efccb5d0b8762af1371831bb234b17
git cherry命令正确显示在针对develop的rebase期间,可以从功能分支中删除提交1014d04
(标有-
)。因为它已被挑选开发。
然而,git log cherry命令似乎不起作用(标有+)
git log --cherry --oneline develop..feature/ABC
+ 1014d04 adding some comment
git log --cherry-mark --oneline develop..feature/ABC
+ 1014d04 adding some comment
我
git --version
git version 2.12.0.windows.1
答案 0 :(得分:1)
--cherry-mark
和--cherry
选项实际上要求您采用对称差异。从--cherry
:
--cherry
--right-only --cherry-mark --no-merges
的同义词;有用的是将输出限制在我们这一侧的提交中,并使用git log --cherry upstream...mybranch
标记已应用于分叉历史记录另一侧的输出,类似于git cherry upstream mybranch
。
注意这里的三个点,它们调用对称差异代码。这需要在任一分支上进行提交,但不在两个分支上进行提交,即,它排除了它们的合并基础和任何祖先提交。因此,所选的提交必须只能从左侧的ID(即upstream
)或右侧的ID(mybranch
)中获取,但不能同时访问两者。 --left-right
选项会标记每个提交到哪个“leg”到达它,而--right-only
会丢弃所选的左侧提交,但只有在等效提交后才会被标记。< / p>
( 可以在没有--cherry-mark
或--left-only
的情况下使用--right-only
,但我认为它不是那么有用:你无法分辨提交的哪一方混合--cherry-mark
和--left-right
将樱桃标记替换为左/右标记(!)。)