【发布时间】:2011-11-09 17:12:29
【问题描述】:
通常在提交期间 ($ git -commit -m ""),我希望阅读我的最后一条评论以记住我取得了哪些进展。有没有一种简单的方法可以通过命令行直接访问最后的提交消息? (我使用的是 Windows。)
【问题讨论】:
-
如果是常规操作,请为您选择的解决方案/命令行创建一个
alias(例如wherewasi;-)。您也可以包含分支信息。
标签: git
通常在提交期间 ($ git -commit -m ""),我希望阅读我的最后一条评论以记住我取得了哪些进展。有没有一种简单的方法可以通过命令行直接访问最后的提交消息? (我使用的是 Windows。)
【问题讨论】:
alias(例如wherewasi ;-)。您也可以包含分支信息。
标签: git
一般:
git log -n
将向您显示最后的 n 提交消息
更优雅 - 如果您想快速了解您的提交
git log --oneline -n
这将只显示最后n 提交消息的第一行。
您可以将其保存为 git 别名或带有较短命令的 shell 别名。例如,我在我的 shell 中以 glog 的形式获取它,并且我可以使用 glog -10 查看我的最后 10 条提交消息。
【讨论】:
你可以使用
git show -s --format=%s
此处--format 启用各种打印选项,请参阅documentation here。具体来说,%s表示“主题”。此外,-s 代表--no-patch,它会抑制差异内容。
我经常用
git show -s --format='%h %s'
%h 表示提交的简短哈希
另一种方法是
git show-branch --no-name HEAD
它似乎比其他方式运行得更快。
其实我写了一个小工具来查看我所有repos的状态,包括编辑状态、与远程分支的关系等。它还可以从任何工作目录批量执行命令。
你可以在github找到它。
【讨论】:
git show -s --format=%s -5
这个命令会给你最后的提交信息:
git log -1 --oneline --format=%s | sed 's/^.*: //'
输出类似于:
Create FUNDING.yml
您可以将 -1 更改为任何负数以增加检索到的提交消息的范围
【讨论】:
【讨论】:
我刚刚通过检索上一个命令找到了一个使用 shell 的解决方法。
按Ctrl-R调出反向搜索命令:
reverse-i-search
然后开始输入 git commit -m,这将添加这个作为搜索命令,这会带来之前的 git commit 及其消息:
reverse-i-search`git commit -m`: git commit -m "message"
输入。就是这样!
(在 Ubuntu shell 中测试)
【讨论】:
从git log -1 --pretty='%s'开始
但是下面这个涵盖了所有的情况,
git log --pretty='format:%Creset%s' --no-merges -1
粘贴并自己查看
【讨论】:
%s 仅包含提交消息的主题
我这样做了
git reflog -1 | sed 's/^.*: //'
【讨论】:
为了更易读,运行一次这个命令:
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
这样当你运行时:
git lg
你会得到一个很好的读数。只显示最后一行:
git lg -1
找到解决方案here
【讨论】:
git log -1 branch_name 将向您显示来自指定分支(即不一定是您当前所在的分支)的最后一条消息。
【讨论】:
git show
输入速度最快,但也会显示差异。
git log -1
快速简单。
git log -1 --pretty=%B
如果您只需要提交消息而不需要其他任何内容。
【讨论】:
git log -1 --pretty=%B | cat 显示整个消息,但正如彼得所说,您应该尽量将其保持在 80 个字符以内。
cat 即:git log -1 --pretty= | cat
format:<string>)。
format: 前缀添加到 %B,它不会在输出末尾显示额外的空行:git log -1 --pretty=format:%B
git log -1 将显示最新的提交消息,如果您只想显示 sha1 和相关的提交消息,git log -1 --oneline 将显示。
【讨论】: