我正在关注gitimmersion.com上的git教程并设置别名hist
以显示自定义的漂亮日志输出。
当我禁用git的寻呼机(将GIT_PAGER设置为空或cat
)时,输出会在末尾省略换行符。
这就是我所看到的:
work/lab_10$ git hist
* 88976c6 2011-01-19 | Added a comment (HEAD, v1, master) [Jim Weirich]
* b819ef8 2011-01-19 | Added a default value (v1-beta) [Jim Weirich]
* ff07fc9 2011-01-19 | Using ARGV [Jim Weirich]
* b73dc5c 2011-01-19 | First Commit [Jim Weirich]work/lab_10$
请注意,shell提示符显示在可打印输出的最后一个字符之后,没有换行符。
比较,这是我在使用标准漂亮格式时看到的内容:
work/lab_10$ git log --pretty=oneline
88976c644e65afa697b58fc940eb8f94c47f8129 Added a comment
b819ef832effdaea8c0e33b1fea36ea4071c61b9 Added a default value
ff07fc93d3e2e5522e5607c9952cbad10cfa1144 Using ARGV
b73dc5c1579756f4e9a4f91a90384c47288023b0 First Commit
work/lab_10$
在这种情况下,会出现下一个提示之前的换行符。
以下是别名的定义:
[alias]
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
当我没有使用寻呼机时,有没有办法让git log
包含最终换行符?
答案 0 :(得分:55)
尝试
hist = log --pretty="tformat:\"%h %ad | %s%d [%an]\"" --graph --date=short
format
在提交之间放置换行符,tformat
在每次提交之后将换行符放在之后,也放在最后一次提交之后。
有关详细信息,请参阅git-log(1)。