创建获取最后一次提交的 Git 别名
我想知道是否有任何方法可以通过 Git 别名获取最后一次提交的 SHA1。
到目前为止,我有以下内容,但它抛出一个错误:
别名“last-commit”扩展失败; '9fa5c2c72e586ce825d54114532400d8cc56106f' 不是 git 命令
我用来创建 last-commit
别名的命令:
git config --global alias.last-commit `log -1 --pretty=format:%H`
我知道 git log -1
会给我最后一个提交信息,但我想要最后一次提交 SHA1 本身,这样我就可以将它与 cat
一起使用。
任何帮助表示赞赏
I'm wondering if there is any way to get the SHA1 of the last commit via a Git alias.
I have the following so far, but it throws an error saying:
Expansion of alias 'last-commit' failed; '9fa5c2c72e586ce825d54114532400d8cc56106f' is not a git command
The command I'm using to create the last-commit
alias:
git config --global alias.last-commit `log -1 --pretty=format:%H`
I'm aware that git log -1
will give me the last commit information, but I want the last commit SHA1 on its own so I can use it with cat
.
Any help is appreciated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以执行以下操作:
...或作为别名:
manojlds 暗示引号是您的版本的问题 - 稍微扩展一下,反引号在其中运行命令并将该命令的标准输出替换为您正在运行的命令。由于命令
log
可能不存在,因此您将在标准错误上看到错误,并且别名将被设置为空字符串。您的示例中的单引号或双引号就可以了。You can do:
... or as an alias:
manojlds alludes to the quotes being the problem with your version - to expand on that slightly, backquotes run the command within them and substitute the standard output of that command into the command you're running. Since the command
log
probably doesn't exist, you'll see an error on standard error and the alias will be set to an empty string. Single or double quotes in your example would be fine.只需使用 git rev-list -1 HEAD
对于使用 git log 的别名,请使用:
注意引号。
Just use
git rev-list -1 HEAD
For your alias using
git log
, use:Notice the quotes.