存储在变量中的Git提交消息搞砸了

时间:2017-12-13 01:46:23

标签: git bash github git-commit

我有一个Git提交,它有一个摘要,然后是一些描述。因此,当我通过git log --format=%B -n 1 <commit>看到提交消息时,它看起来像这样:

Commit Summary Line * Commit Description Line 1 * Commit Description Line 2 * Commit Description Line 3

但是,当我尝试将其存储在Bash变量中时,因此:

message=$(git log --format=%B -n 1 <commit>)

然后我尝试echo $message,我从当前目录中获取文件夹名称与提交消息中的每一行混合。更重要的是,我甚至没有看到提交消息中的所有行,只是其中一些。所以,$message看起来像这样:

Commit Summary Line folder1 folder2 folder3 Commit Description Line 1 folder1 folder2 folder3 Commit Description Line 3

这种行为有什么解释吗?我只想让$message拥有完整提交消息中的所有行。我甚至不关心它们是否在新行或全部在一行中,我只想将所有行存储在字符串变量中。我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

*引起的游戏似乎有点流氓pathname expansion。尝试在message变量周围添加一对引号,你应该很好!

echo "$message"