为了创建自动发行说明工具,我创建了一个脚本,列出了两个标签之间的所有提交。但在某些情况下,这些工具列出的提交比我想要的要多。
例如,使用下面的图表:
* 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
这将显示给定范围内的所有提交。
..
与 ...
之间有什么区别
git log a..b
意味着给我自a
以来所做的所有提交,直到并包括b
(或者,就像手册页所说的那样“包括可以从 b 访问的提交,但排除可以从 a 访问的提交"),即三点变体
git log a...b
表示“包括可从 a 或 b 访问的提交,但排除可从两者访问的提交”,这是完全不同的事情。
关于git - 如何直接列出两个标签之间的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35286480/