git describe是否有任何语法只显示最新标记和其他提交?
这样你就得到了
4.0.7
在提交标记为4.0.7
的情况下
4.0.7-12
自标记4.0.7
git describe --tags
与4.0.7-12-g09181
非常接近,但我还没有找到摆脱附加哈希值的方法。
git describe --tags --abbrev=2
仍显示4.0.7-12-g0918
git describe --tags --abbrev=0
仅显示4.0.7
。
答案 0 :(得分:5)
我遇到了类似的问题,我想生成一个字符串,如:“tag-commits”,但可选地后跟-dirty和/或-broken后缀。
Sub edge()
On Error Resume Next
Dim lastRowIndex As Integer
Dim firstRowIndex As Integer
Dim MyString As String
lastRowIndex = ActiveSheet.UsedRange.Rows.Count
MyString = Application.ThisCell.Address
firstRowIndex = Range(MyString).Select
For i = firstRowIndex To lastRowIndex
If i Mod 2 <> 0 Then
If Range("A" & i).Value = Range("A" & i + 1).Value Then
If Range("G" & i).Value > Range("G" & i + 1).Value Then
If Range("H" & i).Value = "0" Then Range("N" & i).Value = "TE"
ElseIf 0.01898 < Val(Range("G" & i).Value) < 0.02149 Then Range("N" & i).Value = "LE"
**ElseIf Val(Range("G" & i).Value) > 0.02149 Then Range("N" & i).Value = "TE"**
End If
ElseIf Range("G" & i).Value < Range("G" & i + 1).Value Then
If Range("H" & i).Value = "0" Then Range("N" & i).Value = "LE"
ElseIf 0.01898 < Val(Range("G" & i).Value) < 0.02149 Then Range("N" & i).Value = "LE"
ElseIf Val(Range("G" & i).Value) > 0.02149 Then Range("N" & i).Value = "TE"
End If
ElseIf i Mod 2 = 0 Then
If Range("A" & i).Value = Range("A" & i - 1).Value Then
If Range("G" & i).Value > Range("G" & i - 1).Value Then
If Range("H" & i).Value = "0" Then Range("N" & i).Value = "TE"
ElseIf 0.01898 < Val(Range("G" & i).Value) < 0.02149 Then Range("N" & i).Value = "LE"
ElseIf Val(Range("G" & i).Value) > 0.02149 Then Range("N" & i).Value = "TE"
ElseIf Range("G" & i).Value < Range("G" & i - 1).Value Then
If Range("H" & i).Value = "0" Then Range("N" & i).Value = "LE"
ElseIf 0.01898 < Val(Range("G" & i).Value) < 0.02149 Then Range("N" & i).Value = "LE"
ElseIf Val(Range("G" & i).Value) > 0.02149 Then Range("N" & i).Value = "TE"
End If
End If
End If
Next
End Sub
(Dirty只表示您有未提交的更改)。
然而,接受的答案会删除末尾的-dirty(或使用的 - 破坏)标记,并将哈希留在输出中。
为了解决这个问题,我编写了以下命令:
1.0-3
1.0-3-dirty
1.0-3-dirty-broken
这是有效的,因为哈希始终以“g”开头,后跟7个字符。
答案 1 :(得分:2)
describe命令中没有选项可以执行您想要的操作。您可以将输出传递给删除哈希的shell脚本。
git describe --tags | sed 's/\(.*\)-.*/\1/'
请参阅https://stackoverflow.com/a/32084572/1468708
thx!