Eli*_*eth 8 powershell powershell-4.0
如果你这样做:git describe --long
你得到: 0.3.1-15-g3b885c5
这就是上面字符串的含义:
Tag-CommitDistance-CommitId(http://git-scm.com/docs/git-describe)
如何拆分字符串以获取第一个(Tag)和最后一个(CommitId)元素?
Oca*_*tal 15
通过使用String.split()count参数来管理commitid中的破折号:
$x = "0.3.1-15-g3b885c5"
$tag = $x.split("-",3)[0]
$commitid = $x.split("-",3)[-1]
mkl*_*nt0 10
注意:这个答案着眼于提高在分割成的令牌逐-办法从理查德的有用的答案,但请注意,这种做法是不完全健壮,因为git变量名称中本身包含-的字符,所以不能盲目地认为第一-实例结束标记名称。
为了解决这个问题,请改用Richard 的强大解决方案。
只是为了提供一个更符合 PowerShell 习惯的变体:
# Stores '0.3.1' in $tag, and 'g3b885c5' in $commitId
$tag, $commitId = ('0.3.1-15-g3b885c5' -split '-')[0, -1]
PowerShell 的-split 操作符用于通过分隔符将输入字符串拆分为一组标记。-
虽然[string]类型的.Split() 方法在这里就足够了,-split但总的来说提供了许多优点。
[0, -1]从 返回的数组中提取第一个 ( 0) 和最后一个 ( -1) 元素-split,并将它们作为 2 元素数组返回。
$tag, $commitId =  是一个解构多重赋值,将生成的 2 元素数组的每个元素分配给一个变量。
| 归档时间: | 
 | 
| 查看次数: | 30423 次 | 
| 最近记录: |