我有一个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
拥有完整提交消息中的所有行。我甚至不关心它们是否在新行或全部在一行中,我只想将所有行存储在字符串变量中。我如何实现这一目标?