无法为第一次提交创建 git 别名

Cannot create git alias for first commit

我一直在努力尝试在我的 .gitconfig 中创建以下别名(显示树历史的第一次提交):

[alias]
    first =  log $(git log --pretty=format:%H|tail -1)

但是,我得到以下异常:

fatal: ambiguous argument '$(git': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

我一直在尝试该命令的几个替代版本,但无法正确执行。 我想在 .gitconfig 文件中手动创建它,而不是通过在终端中提供命令(即 git config --global)。

有人知道这个问题可能出什么问题吗? 我在 unix/terminal 刚开始学习 :-)

编辑 我希望能够使用别名获得与 运行 来自终端的命令相同的结果。也就是说,作者、SHA、日期、提交消息,而不仅仅是 SHA。

| tail -1 不是 git 命令,所以不能这样使用。尝试:

first = "! git log --pretty=%H | tail -1"

至于"first"提交,考虑到合并不相关的分支,一个分支可能有多个第一次提交。它们被称为根提交。 --max-parents=0 只能列出根提交。在大多数情况下,一个分支只有一个根提交。尝试 git 方式:

first = log --pretty=%H --max-parents=0

实际上,出于某种原因我不得不使用单引号。感谢@ElpieKay 指导我进入正确的路线。以下是我想要实现的解决方案!

first =  log --pretty='%C(yellow)commit %H%nDate:\t%ad%nAuthor: %an <%ae>%n%n\t%s' --max-parents=0