2
我有一個別名爲git log
twoline。git log漂亮格式
[alias]
l = "log --graph --date=relative --decorate --abbrev-commit --pretty=format:'%h - %aD (%ar)%d%n %s - %an'"
它很好地工作。
輸出#1:
$ git l -2
* 714a14e - Fri, 18 Nov 2016 00:04:19 -0800 (3 months ago) (HEAD -> dev, github/dev)
| Adding BitSet implementation. - hippy
* 87dce5f - Sat, 10 Dec 2016 12:50:40 -0800 (9 weeks ago)
| Turning on recommended code analysis rules. - hippy
然而,隨着--name-status
,我可以在作者名後看到的管道。
輸出#2:
$ git l -2 --name-status
* 714a14e - Fri, 18 Nov 2016 00:04:19 -0800 (3 months ago) (HEAD -> dev, github/dev)
| Adding BitSet implementation. - hippy|
| M README.md
| A rm.Extensions/BitSet.cs
| M rm.Extensions/Properties/AssemblyInfo.cs
| M rm.Extensions/rm.Extensions.csproj
| A rm.ExtensionsTest/BitSetTest.cs
| M rm.ExtensionsTest/rm.ExtensionsTest.csproj
* 87dce5f - Sat, 10 Dec 2016 12:50:40 -0800 (9 weeks ago)
| Turning on recommended code analysis rules. - hippy|
| M rm.Extensions/GraphExtension.cs
| M rm.Extensions/Wrapped.cs
| M rm.Extensions/WrappedExtension.cs
| M rm.Extensions/rm.Extensions.csproj
如果我在最端部(以便...%an%n
)添加%n
,輸出#1變成3線而不是2
我想要--name-status
看起來像這樣最好,但文件列表之前的額外換行是好的:
$ git l -2 --name-status
* 714a14e - Fri, 18 Nov 2016 00:04:19 -0800 (3 months ago) (HEAD -> dev, github/dev)
| Adding BitSet implementation. - hippy
| M README.md
| A rm.Extensions/BitSet.cs
| M rm.Extensions/Properties/AssemblyInfo.cs
| M rm.Extensions/rm.Extensions.csproj
| A rm.ExtensionsTest/BitSetTest.cs
| M rm.ExtensionsTest/rm.ExtensionsTest.csproj
|
* 87dce5f - Sat, 10 Dec 2016 12:50:40 -0800 (9 weeks ago)
| Turning on recommended code analysis rules. - hippy
| M rm.Extensions/GraphExtension.cs
| M rm.Extensions/Wrapped.cs
| M rm.Extensions/WrappedExtension.cs
| M rm.Extensions/rm.Extensions.csproj
這看起來像一個錯誤,因爲我找不到pretty formats man page中的任何東西。
$ git version
git version 2.11.0.windows.1
我該如何解決這個問題pretty format
?
注意:我在這裏提交了一個錯誤(bug link),並且會相應地更新票證。
我曾嘗試'tformat'。由於可讀性,我認爲'format'與'%n'結尾比'tformat'更好。我會用'git log --graph --decorate --oneline',但它不輸出作者,日期。我想我會在此期間報告錯誤。 – hIpPy
但是正如你所指出的那樣,當你不需要它時,顯式的'%n'('%an%n')會放入一個換行符,以及當你這樣做時(「輸出#1變爲3行...」 )。有了'tformat',它不會。 – torek