gpt4 book ai didi

git - git show 的管道输出通过过滤器?

转载 作者:行者123 更新时间:2023-12-05 06:45:21 25 4
gpt4 key购买 nike

我们使用 Gerrit 和 Bugzilla,所以我们的提交消息有脚注:

commit c557164627b6a53017a2b6ea5122393415445d43
Author: Tim Landscheidt <tim@tim-landscheidt.de>
Date: Mon Jun 23 22:09:21 2014 +0000

Tools: Install xsltproc

Bug: 66962
Change-Id: I01cfb2f72c3a7de39a5ac2b3439022122fdfbb15

在 Gerrit 的 Web 界面中,“Bug”和“Change-Id”页脚会自动链接到相应的 Gerrit 和 Bugzilla 页面。在命令行上,我必须改为复制、粘贴和搜索。

我想过滤提交消息,以便 git show (1.8.3.1) 将上面的示例显示为:

commit c557164627b6a53017a2b6ea5122393415445d43
Author: Tim Landscheidt <tim@tim-landscheidt.de>
Date: Mon Jun 23 22:09:21 2014 +0000

Tools: Install xsltproc

Bug: https://bugzilla.wikimedia.org/66962
Change-Id: https://gerrit.wikimedia.org/r/#q,I01cfb2f72c3a7de39a5ac2b3439022122fdfbb15,n,z

允许我的 Konsole 窗口使这些链接可点击。

但是查看git show,那里的格式似乎不允许调用外部程序。

在 Git 内部没有办法做到这一点,所以我需要求助于设置 shell 别名吗?

最佳答案

尽管您可以使用 git show--format 参数来更改字段的顺序并在它们之间添加额外的文本,但您不能修改内容的领域。从外观上看,Gerrit 和 Bugzilla 消息已添加到提交消息中,因此您无法从 Git 中重新格式化它们。

但是,您可以在 Git 中设置别名而不需要单独的 shell 文件,如下所示:

git config alias.shw '!git show | sed "s/Bug: /Bug: https:\/\/bugzilla.wikimedia.org\//" | sed "s/Change-Id: \(.*\)/Change-Id: https:\/\/gerrit.wikimedia.org\/r\/#q,\1,n,z/"'

这样您就可以使用 git shw 而不是 git show 来获得调整后的输出。

关于git - git show 的管道输出通过过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24637596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com