git 显示打印不需要的标记信息



使用此命令时:

$ 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>

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

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

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

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

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

git show -s --pretty=format:%H e562b3..HEAD

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

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

(即使在具有标签的存储库上,我也无法重现您看到的行为,但也许使用 git loggit rev-list 就可以解决问题)

相关内容

最新更新