JJD*_*JJD 303 git version-control formatting logging commit-message
我正在尝试自定义格式git log
.我希望所有提交都显示在一行中.每行应仅显示提交消息的第一行.
我发现是git log --pretty=short
应该做的伎俩,但我的电脑上显示完整的日志中git log
做(除了时间戳).
此外,我尝试使用手册页中定义的占位符.虽然,我找不到缩短日志消息的命令.我尝试了这一行git log --pretty=format:'%h : %s'
,它在一行中显示了短路哈希%h
和完整的消息%s
.
我git version 1.7.3.1.msysgit.0
在Vista上使用.
也许它与我编写提交消息的方式有关.这是一个例子:
Added some functionality.
+ Added print function in Foo class.
+ Added conversion from foo to baz.
Run Code Online (Sandbox Code Playgroud)
因此,通过给出的示例,我只希望Added some functionality.
通过shortend哈希进行输出.
Gau*_*ier 492
你试过这个吗?
git log --pretty=oneline --abbrev-commit
Run Code Online (Sandbox Code Playgroud)
问题可能是你在第一行之后缺少一个空行.上面的命令通常适用于我,但我刚刚在没有空第二行的提交上进行了测试.我得到了与你相同的结果:整条信息在一行上.
空第二行是git commit消息中的标准.您看到的行为可能是故意实施的.
提交消息的第一行是简短描述.如果你不能在一行中创建它,你可以使用几个,但是git会将第一个空行之前的所有内容视为"简短描述".oneline
打印整个简短描述,所以你的所有3行.
ati*_*kan 35
更好的和更容易的git日志通过做一个别名.将下面的代码粘贴到终端只需一次会话.将代码粘贴到zshrc或bash配置文件以使其持久.
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
Run Code Online (Sandbox Code Playgroud)
产量
git lg
Run Code Online (Sandbox Code Playgroud)
输出更改了行
git lg -p
Run Code Online (Sandbox Code Playgroud)
进一步阅读.
https://coderwall.com/p/euwpig/a-better-git-log
高级阅读.
http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/
Tha*_*Guy 25
您可以定义全局别名,以便以更舒适的方式调用短日志:
git config --global alias.slog "log --pretty=oneline --abbrev-commit"
然后你可以使用git slog
它来调用它(如果你启用它,它甚至可以用于自动完成).
tec*_*yle 20
这将打印出没有哈希的消息(仅限主题行):
git log --pretty=format:%s
Run Code Online (Sandbox Code Playgroud)
Eng*_*hly 13
如果您只想commit-id
打印commit message
git log --pretty=format:"%h %s"
%h
是hash_id
和的%s
简写subjectName[message_name]
您可以通过以下命令显示后面的commit-id
日期message
:
git log --pretty=format:"%h %s %C(yellow)(%cr)"
%C
是颜色的简写,例如我想用不同的颜色显示日期(red,green,blue, yellow,...etc)
。
%cr
是提交者日期的简写,相对
或者您可以使用此命令进行打印hash_id
并first word
在提交消息中使用:
git log --oneline | awk '{print $1 " " $2}'
或者
git log --oneline
没有提交消息,只有哈希:
git log --pretty=oneline | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
如果您只想要消息的第一行(主题):
git log --pretty=format:"%s"
Run Code Online (Sandbox Code Playgroud)
如果您希望该分支上的所有消息都返回到 master:
git log --pretty=format:"%s" master..HEAD
Run Code Online (Sandbox Code Playgroud)
最后但并非最不重要的一点是,如果您想为快速降价发行说明添加小项目符号:
git log --pretty=format:"- %s" master..HEAD
Run Code Online (Sandbox Code Playgroud)
小智 5
git log --format="%H" -n 1
Run Code Online (Sandbox Code Playgroud)
使用上面的命令来获取commitid,希望这会有所帮助。
归档时间: |
|
查看次数: |
140947 次 |
最近记录: |