导出到文本文件时带换行符的git日志
如何为自定义git日志添加换行符导出到文本文件时带换行符的git日志,git,line-breaks,Git,Line Breaks,如何为自定义git日志添加换行符 git log --pretty=tformat:"%ai %s" > log.log 我想在%s后换行,引号将保存您-只需将结束引号放在下一行,如: git log --pretty=tformat:"%ai %s " >log.log 它应该会起作用 或者,在git log--help的PRETTY FORMATS标题下,它列出了: · %m: left, right or boundary mark ·
git log --pretty=tformat:"%ai %s" > log.log
我想在
%s
后换行,引号将保存您-只需将结束引号放在下一行,如:
git log --pretty=tformat:"%ai %s
" >log.log
它应该会起作用
或者,在git log--help的PRETTY FORMATS标题下,它列出了:
· %m: left, right or boundary mark
· %n: newline
· %%: a raw %
虽然“换行符”显然是unix换行符,但在windows上,您需要使用直接十六进制代码,如:
git log --pretty=tformat:"%ai %s%x10%x13" >log.log
您可以使用
%n
作为新行:
git log --pretty=tformat:"%ai %s%n" > log.log
原因是git使用LF作为分隔符,而记事本和大多数windows应用程序使用CRLF。下面的脚本使我能够生成一个包含所有更改的文件
del files.txt >nul 2>nul
git show --pretty="format:" --name-only HEAD > changes.txt
for /F "tokens=*" %%A in ('type "changes.txt"') do echo %%A >> files.txt
对于那些使用git制作Windows批处理文件的人,请记住将单%%转换为双%%。 还为回车和换行添加了十六进制 比如说
git log --pretty=tformat:"%ai %s%x0D%x0A" >log.log
转换为窗口批处理文件
git log --pretty=tformat:"%%ai %%s%x0D%x0A" >log.log
Pjz的答案对于Windows来说并不完全正确,但通过一点尝试,我让它开始工作了。10和13个字符需要颠倒,并且需要采用正确的十六进制格式:
git log --pretty=tformat:"%ai %s%x0D%x0A" >log.log
Windows的其他答案会导致文件中出现额外的0x0A字符。Git已经将0x0A附加到每个日志条目,因此您只需添加缺少的0x0D:
git log --pretty=tformat:"%ai %s%x0D" >log.log
或在批处理文件中:
git log --pretty=tformat:"%%ai %%s%%x0D" >log.log
我这样做了,当在notepad++中查看时它可以工作,但在notepad中查看时它仍然看起来没有换行符。它对我也不起作用。问题是,git仅在notepad和大多数windows应用程序使用\r\n(CRLF)时使用\n来记录单独的文件。如果通过运行下面我的答案中发布的脚本修复了它,请查看CoverosGene答案中的我的评论。另一方面,如何在命令行中生成下一行?