【问题标题】:Git alias to include time similar to magitGit 别名以包含类似于 magit 的时间
【发布时间】:2017-12-15 14:08:21
【问题描述】:

我使用以下我非常喜欢的别名:

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 那样是列对齐的,也会有所帮助。

【问题讨论】:

    标签: git magit


    【解决方案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'
    

    【讨论】:

      【解决方案2】:

      git log 文档的"Commit Formatting" 部分提供了所有答案。

      这个命令产生你需要的输出,没有颜色:

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

      格式占位符:

      • %H - 提交哈希;使用%h 获取缩写的提交哈希;
      • %d - 引用名称,如 --decorate 选项产生的;
      • %s - 提交主题;
      • %cn - 提交者姓名;
      • %cd - 提交者日期(格式尊重 --date= 选项);
        对于其他格式,请使用 %cD%ct%cr%ci%cI

      在文档的"Pretty Formats" 部分阅读有关格式占位符的更多信息。

      【讨论】:

        【解决方案3】:

        你可以这样做:

        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

        【讨论】:

        • 这很好!我没有得到对齐的宽度。我的输出中只有一个 \。
        • 哦 - \ 用于造型目的。如果需要,您可以在命令中删除它们:git log --pretty=format:"%C(green)%h %C(yellow)[%ad]%Cred%d %Creset%s%Cblue [%cn]" --decorate --date=local 如果您想查看更多信息,可以旧添加 --graph 标志。您的帖子中有该标志。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-02
        • 1970-01-01
        • 1970-01-01
        • 2012-10-05
        • 2018-05-05
        相关资源
        最近更新 更多