gpt4 book ai didi

git - 显示提交 ID 时 git show 和 git log 之间的区别

转载 作者:太空狗 更新时间:2023-10-29 14:45:36 24 4
gpt4 key购买 nike

我需要获取两个已知提交之间的提交 ID 列表。我使用了以下命令:

git show --format=format:%H --quiet commitA...commitB

它可以完美地工作,直到有一个 merge 提交。即:

*   c36a37b
|\
| * 92187d9
* | e24d2c4
|/
* eef755e

输出如下:

$ git show --format=format:%H --quiet c36a37b...eef755e
c36a37b80caf2bae7b4833617443f4dfea8d8816

e24d2c4292baef4106976373ff3d01341834648d
92187d9a1002027c7d99824f2561467692bfd6b3

当我更改 show 命令并改用 log 时:

$ git log --format=format:%H --quiet c36a37b...eef755e
c36a37b80caf2bae7b4833617443f4dfea8d8816
e24d2c4292baef4106976373ff3d01341834648d
92187d9a1002027c7d99824f2561467692bfd6b3

请注意,第一次提交后没有空行。我并不热衷于使用 git show 而不是 git log - 我什至不记得我从哪里得到这个想法。但是这个多出的空行导致我的程序失败了,不知道有没有什么特殊的意义。

Git 版本 1.9.5。

最佳答案

我在手册页中没有看到任何解释为什么会出现该空白行的内容。但是,如果您将输出传递给另一个程序,则无论如何您都不需要 porcelain 命令,因为输出格式可能会发生变化。你想要的命令是

git rev-list c36a37b...eef755e

更新:针对您的具体问题——它有任何意义吗——我的回答是没有你可以指望的,因为 (a) 它不是手册页中提到,(b) git show 的输出不打算被其他程序解析。

关于git - 显示提交 ID 时 git show 和 git log 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29416378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com