我正在做以下测试用例:
我创建了"MY-BRANCH"分支
添加标签:
git tag TAG1 MY-BRANCH
git push --follow-tags
如果我这样做:
git describe --tags
我可以看到标签的名字很长TAG1-5-g2fa83fb
我使用--crush将不同分支的一些合并到"MY-BRANCH"中。
现在我正在尝试完成从TAG1到HEAD的所有合并,但我什么都没得到。我原本预计至少会看到3个合并。什么都没有。
git --no-pager log TAG1..HEAD --parents --oneline --merges --abbrev=0 MY-BRANCH
我看不出我做错了什么。
更新:
正如下面的评论所示,我最初的问题似乎是TAG被分配到的分支。Filter——merge似乎不起作用——squash也不起作用。
我会努力澄清我正在努力实现的目标,也许这会更有帮助。
我基本上要做的是将从最后一个TAG到HEAD的所有合并(合并到我当前的分支中)都放入。其中一个问题是合并是用--square完成的。我找不到任何类型的过滤器用于--squash合并。
所以你的问题是
git log --merges
不认为压缩的合并提交是合并,因为它们不是真正的合并。具体来说,尽管git merge
创建了它们,但它们没有两个父级,这正是文档中使用的标准:
--合并
仅打印合并提交。这与
--min-parents=2
完全相同。