git log --cherry-pick A..B - 我做错了什么?

标签 git branch commit git-log

为了找到分支working上未 merge/选择到master但我正在运行的提交

git log --format="%h %aN %ai %f" --cherry-pick --no-merges master..working

据了解here .

但正如所描述的here我发现 master working 上的提交仅因挑选而导致提交 ID 发生变化。

working 均未 merge 到 master,反之亦然。

即使我手动挑选从 workingmaster 的提交,它也会显示正在运行上述命令。

实际上--cherry-pick似乎根本没有效果,如|wc所示。

我做错了什么?

更新:

实际上 ElpieKay 和 torek 都是对的,我最初的命令也会起作用。不幸的是,我不知道我们正在使用一些“cherry-pickish”魔法,我不知道在cherry-picking之后哪些更改会提交

.

最佳答案

ElpieKay mentioned in a comment ,您需要三点表示法。但是,仅添加三点表示法是不够的:您还需要添加 --left-only--right-only (取决于哪一侧)您将 A...BAB 部分放在上的对称差异)。

注意:

In order to find commits on branch working not merged/picked to master yet [I used] master..working

所以在这里,您需要--right-only master...working。您也可以保留 --no-merges 。如果 merge 仅出现在 master 上,您实际上不需要 --no-merges,但它可能是无害的。但请注意,--no-merges 完全消除了所有 merge ,无论其补丁 ID 为何。

关于git log --cherry-pick A..B - 我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65319896/

相关文章:

bit-manipulation - 无分支饱和度

nhibernate - 何时在 ASP.NET MVC 2 应用程序中提交 NHibernate 事务?

git - 在 bitbucket 中重命名 merge 的分支名称

git - master分支和 'origin/master' fork 了,怎么 'undiverge'分支'?

svn:有什么方法可以组合单独的部分 checkout 的 checkin 吗?

git - 使用 git 将提交从 master 移动到分支

git - 如何改进git的差异突出显示?

Eclipse 卡在 "Re-indexing (fully) repository {username}"上

node.js - 显示自上次 pull 以来的提交列表

推送到远程时,Git 不会使用第二组凭据