如何为自定义git日志添加换行符?
git log --pretty=tformat:"%ai %s" > log.log
我想在%s
之后换行
您可以使用%n
作为新行:
git log --pretty=tformat:"%ai %s%n" > log.log
Pjz的答案对于Windows来说并不完全正确,但随着一点点的游戏,我得到了它的工作。需要颠倒10个和13个字符,它们需要采用正确的十六进制格式:
git log --pretty=tformat:"%ai %s%x0D%x0A" >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
Windows的其他答案会导致文件中出现额外的0x0A字符。 Git已经为每个日志条目添加了0x0A,因此您只需要添加缺少的0x0D:
git log --pretty=tformat:"%ai %s%x0D" >log.log
或者在批处理文件中:
git log --pretty=tformat:"%%ai %%s%%x0D" >log.log
对于那些使用git制作Windows批处理文件的人,请记住将单个%转换为double %%。还为回车和换行添加十六进制
例如
git log --pretty=tformat:"%ai %s%x0D%x0A" >log.log
转换为窗口批处理文件
git log --pretty=tformat:"%%ai %%s%x0D%x0A" >log.log
报价将为您节省 - 只需将下面的报价放在下一行,如:
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