创建一个获取最后一次提交的 Git 别名

3
我想知道是否有办法通过Git别名获取最后一次提交的SHA1值。
到目前为止,我已经有了以下内容,但它会抛出错误,显示:
“last-commit”别名的扩展失败;“9fa5c2c72e586ce825d54114532400d8cc56106f”不是git命令。
我使用以下命令创建“last-commit”别名:
git config --global alias.last-commit `log -1 --pretty=format:%H`

我知道git log -1可以给我最近的提交信息,但我只想要最新的提交SHA1值,以便我可以使用cat命令。感谢您的帮助。
2个回答

4

您可以做:

git rev-parse HEAD

...或者作为别名:

$ git config --global alias.last-commit "rev-parse HEAD"
$ git last-commit
dc1ac14864ecb3dd27f934ba964b030cfedf234a

manojlds 暗示引号可能是您版本的问题 - 更详细地说,反引号在其中运行命令,并将该命令的标准输出替换为您正在运行的命令。由于命令 log 可能不存在,您将在标准错误上看到错误,并将别名设置为空字符串。您的示例中的单引号或双引号都可以使用。


@Jaitsu:如果这个解决了你的问题,请点击旁边的勾选标记,这样Mark就能得到相应的积分。 - Daenyth
@Daenyth,我会的...但是这个问题还没有开放足够长的时间。 - JamesHalsall

3

只需使用git rev-list -1 HEAD

对于使用git log的别名,请使用:

git config --global alias.last-commit "log -1 --pretty=format:%H"

请注意引号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接