0

我一直在努力尝试在我的.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。

4

2 回答 2

3

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

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

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

first = log --pretty=%H --max-parents=0
于 2017-04-27T11:22:59.213 回答
0

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

first =  log --pretty='%C(yellow)commit %H%nDate:\t%ad%nAuthor: %an <%ae>%n%n\t%s' --max-parents=0
于 2017-04-28T09:54:37.463 回答