Git别名包含类似于magit的时间

时间:2017-07-11 13:20:17

标签: git magit

我使用了以下我喜欢的别名:

git config --global alias.dag 'log --oneline --decorate --all --graph'

它给了我一些链接:

* 1234  (HEAD->master, origin/master) Commit Message

当我使用emacs magit时,我也会获得用户名和提交日期:

* 1234  (HEAD->master, origin/master) Commit Message    MyName   date

任何人都知道修改别名以提供额外信息的最佳方法吗? 如果它像emacs那样是列对齐的话也会有所帮助。

3 个答案:

答案 0 :(得分:2)

你可以这样做:

git config --global alias.dag 'log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=local'

这为您提供了一个很好的单行列表,其中包含您想要的列。为清晰起见,每列也是不同的颜色。

--date=local会显示当前的日期和时间,但您可以使用--date标记的其他选项:--date=(relative|local|default|iso|rfc|short|raw)

git log --date的更多信息可在此处找到:How to change git log date formats

答案 1 :(得分:1)

"Commit Formatting"文档的git log部分包含所有答案。

此命令生成无需颜色的输出:

git log --all --graph --format="%H %d %s %cn %cd"

格式占位符:

  • %H - 提交哈希;使用%h获取缩写的commit hash;
  • %d - 引用名称,如--decorate选项生成;
  • %s - 提交主题;
  • %cn - 提交者名称;
  • %cd - 提交者日期(格式取决于--date=选项);
    使用%cD%ct%cr,{{1其他格式的%ci

详细了解文档"Pretty Formats"部分中的格式占位符。

答案 2 :(得分:1)

这很好用,谢谢你们一个好的开始:

git config --global alias.dag 'git log --pretty=format:"%C(blue)%h %C(green)%d %<(60)%Creset%s %<(20)%C(yellow)%cn %C(green)%ad" --decorate --all --graph --date=local'