2016-01-14 49 views
1

我想做一个差异就像this oneGit diff之间的最新和以前的标签

唯一的区别是我不想通过手动通知标签名称,我希望它们可以通过git命令进行检索。

我知道git describe --tags返回我的最新标记。但是前一个呢?如何得到它?

基本上我想要的是:

$ git diff $(git_command_to_get_previous_tag) $(git describe --tags) 

而且我不想要什么:

git tag --sort version:refname | tail -n 1 

和以往:

$ git diff 1.0 2.0 

回答

2

您可以通过获得最新标签标签使用:

git tag --sort version:refname | tail -n 2 | head -n 1 

将其组合在一起,则可以使用此得到DIFF:

git diff $(git tag --sort version:refname | tail -n 2 | head -n 1) $(git tag --sort version:refname | tail -n 1) 
+0

这工作!谢谢 !该命令是比我预期的时间稍长,但没有问题:) –

+0

它怎么可以在Windows上工作? tail命令在窗口上不被识别。 –