我想知道是否有办法通过Git别名获取最后一次提交的SHA1。
到目前为止我有以下内容,但它会抛出错误说:
别名'last-commit'的扩展失败; '9fa5c2c72e586ce825d54114532400d8cc56106f'不是git命令
我用来创建last-commit
别名的命令:
git config --global alias.last-commit `log -1 --pretty=format:%H`
我知道git log -1
会给我最后一次提交信息,但我想要最后一次提交SHA1,所以我可以将它与cat
一起使用。
感谢任何帮助
答案 0 :(得分:4)
你可以这样做:
git rev-parse HEAD
...或作为别名:
$ git config --global alias.last-commit "rev-parse HEAD"
$ git last-commit
dc1ac14864ecb3dd27f934ba964b030cfedf234a
manojlds暗示引号是您的版本的问题 - 稍微扩展,反引号在其中运行命令并将该命令的标准输出替换为您正在运行的命令。由于命令log
可能不存在,您将看到标准错误的错误,并且别名将设置为空字符串。您的示例中的单引号或双引号都可以。
答案 1 :(得分:3)
只需使用git rev-list -1 HEAD
对于使用git log
的别名,请使用:
git config --global alias.last-commit "log -1 --pretty=format:%H"
注意引号。