0

使用此命令时:

$ git show -s --pretty=format:%H --all

它打印这个:

41b253549d86db3432743c1c8a9f75511779073c
83cfbe4b5a128ab06733fdde24f67171a1cf945c

20c18bee751e681856ee4587bb513400b472f941
ba73e741f3ccf7b719a67436cf8b953a1bdeeb89

tag 1.0
Tagger: <snip>


129cba44e34066bfee7ad19a278ead94c2edece9
tag 1.0.1
Tagger: <snip>


6fcdc763265454e602b746e4d81942a1f0597f2e
tag 1.0.2
Tagger: <snip>


36e56a8bc0d568661fa61cdb0a4e4c69c4c30efb
tag 1.0beta1
Tagger: <snip>

我只想打印提交哈希,而不是标签名称和标签。我应该怎么做才能解决这个问题?

4

3 回答 3

2

我不确定您是否要列出标记的提交但忽略标记信息或根本不希望包含标记的提交。

如果是第一种情况,那么git rev-list --all --no-walk应该做你想做的事。

对于第二种情况git rev-list --branches --no-walk,甚至git show -s --pretty=format:%H --branches会做。

于 2012-08-14T14:00:18.890 回答
0

如果你知道你的第一个提交哈希,假设它是e562b3,你可以这样做:

git show -s --pretty=format:%H e562b3..HEAD
于 2012-08-14T13:34:19.720 回答
0

您是否尝试使用git log --pretty=format:%H --all而不是使用git show

您并没有真正说出您的目标是什么,但您甚至可能只想使用git rev-list --all.

(我无法重现您在带有标签但可能使用git loggit rev-list将解决问题的 repo 上看到的行为)

于 2012-08-14T13:46:12.307 回答