在PowerShell中格式化git log输出

时间:2016-07-19 09:52:09

标签: git powershell

我通过$commitMessage = git log -1 --pretty=full 2>&1获取最新的git日志消息。让我感到困惑的是$commitMessage.contains("`n")返回False,但$commitMessage中有明显的换行符。

如何替换$commitMessage中的所有换行符?

$commitMessage的示例内容:

commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number

由于

1 个答案:

答案 0 :(得分:5)

$commitMessage实际上可能是一个字符串数组。要找到答案,请使用.GetType()方法,如此,

$commitMessage.GetType()

这将告诉您正在使用哪种对象。要加入字符串数组,请使用-join运算符,如此

# A demo array of strings
$commitMessage = @()
$commitMessage += "commit ca82a6dff817ec66f44342007202690a93763949"
$commitMessage += "Author: Scott Chacon <schacon@gee-mail.com>"
$commitMessage += "Date:   Mon Mar 17 21:52:11 2008 -0700"
$commitMessage
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

# Join the cells with using arbitary separator
$commitMessage -join '|'
commit ca82a6dff817ec66f44342007202690a93763949|Author: Scott Chacon <schacon@gee-mail.com>|Date:   Mon Mar 17 21:52:11 2008 -0700