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

时间:2017-04-27 09:49:05

标签: git git-alias

我在.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。

2 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:0)

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

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