2012-08-14 53 views
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> 

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

+1

您使用的是哪个版本的git?我无法在我安装的版本或最新版本(http://git-scm.com/docs/git-show) – opqdonut 2012-08-14 13:28:51

+0

@opqdonut的文档中找到'-s'或'--all'标志我正在使用1.7.11.3。这些标志是有效的,但不知道为什么它不在文档中。 – 2012-08-14 14:13:02

回答

2

我不知道,如果你想列出标签(可能使用git loggit rev-list会做的伎俩,我不能重现你在有标签,但回购甚至看到的行为)提交但忽略标记信息或不希望包含标记的提交。

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

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

+0

起初我正在寻找第一个案例,但再次查看我的脚本,我根本不需要标记的提交。 'git show -s --pretty = format:%H --branches'很棒! – 2012-08-14 14:11:47

0

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

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

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

你不确定你的目标是什么,但你甚至可能只想用git rev-list --all