git - 如何直接列出两个标签之间的提交

标签 git

为了创建自动发行说明工具,我创建了一个脚本,列出了两个标签之间的所有提交。但在某些情况下,这些工具列出的提交比我想要的要多。

例如,使用下面的图表:

* abc123 [v42] Merge branch foo on branch bar
|\
* | def465 ...
* | fba602 ...
| * da07b4 ...
* | 98dc92 [v41] ...

在本例中,我想直接列出 v41 和 v42 之间的提交。我尝试使用 git log v41..v42 和 git log v41...v42 (按照 codeWizard 的建议),但 git 还包含提交 da07b4 > 这不是 v41 的子级。

最佳答案

您始终可以使用..(称为范围)。

git log [first commit]..[second commit ] --pretty=oneline

这将显示给定范围内的所有提交。


..... 之间有什么区别

enter image description here

enter image description here


git log a..b

意味着给我自a以来所做的所有提交,直到并包括b(或者,就像手册页所说的那样“包括可以从 b 访问的提交,但排除可以从 a 访问的提交"),即三点变体

git log a...b

表示“包括可从 a 或 b 访问的提交,但排除可从两者访问的提交”,这是完全不同的事情。

关于git - 如何直接列出两个标签之间的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35286480/

相关文章:

git - 从 Git 存储库中删除现有文件

git - 无法确定Java版本,Android Studio,Ubuntu 14.04

ruby-on-rails - 如何保持 git repo 的公共(public)和私有(private)版本同步?

ruby-on-rails - Capistrano 和 Git,毁了我的生活。 "Unable to resolve revision for [HEAD] on repository ..."

git - Lint :eslint when commit the code into local repositary 上的错误

带有西类牙字符的 Git 字符编码

git - 添加许多提交后如何取消提交?

python - 如何为 GitPython 克隆/pull 函数编写单元测试?

git - 如何计算 Git 存储库中特定作者更改的总行数?

Java 无法运行程序 CreateProcess 错误=2