我遵循gitimmersion.com上的git教程,并设置了别名hist以显示自定义的漂亮日志输出。

当我禁用git的传呼器(将GIT_PAGER设置为none或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包含最后的换行符?

最佳答案

尝试

hist = log --pretty="tformat:\"%h %ad | %s%d [%an]\"" --graph --date=short
format在提交之间放置换行符,tformat在每次提交之后放置换行符,因此也在最后一次提交之后放置换行符。

有关详细信息,请参见git-log(1)

关于git - 自定义日志格式在输出末尾省略换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9007181/

10-15 03:26