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