如何给git push输出着色

3
可以创建一个Git别名来为git push命令的错误输出添加颜色吗?
我有一个可以用于日志记录的别名,但我无法修改它以适用于push命令。
git log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%C(62)\\ [%cn]\\ %ce" --decorate

错误信息的示例:

"错误:无法将某些引用推送到 'https://github.com/user/projectname.git'"


本文介绍了一个git push命令失败的错误消息,其中包含有关出现错误的位置和可能的原因的信息。

根据这个问题,似乎不可能,但是这个问题已经有将近两年的历史了。你可以查看Git的源代码。 - David Ferenczy Rogožan
1个回答

4

推送打印应该打印什么?

推送打印输出“推送”的代码结果到服务器。您可以有一个服务器端钩子,向用户发送彩色消息。

pre-receive 钩子

#!/bin/sh

# Output colors
red='\033[0;31m';
green='\033[0;32m';
yellow='\033[0;33m';
default='\033[0;m';

# personal touch :-)
echo "${red}"
echo "                                         "
echo "                   |ZZzzz                "
echo "                   |                     "
echo "                   |                     "
echo "      |ZZzzz      /^\            |ZZzzz  "
echo "      |          |~~~|           |       "
echo "      |        |-     -|        / \      "
echo "     /^\       |[]+    |       |^^^|     "
echo "  |^^^^^^^|    |    +[]|       |   |     "
echo "  |    +[]|/\/\/\/\^/\/\/\/\/|^^^^^^^|   "
echo "  |+[]+   |~~~~~~~~~~~~~~~~~~|    +[]|   "
echo "  |       |  []   /^\   []   |+[]+   |   "
echo "  |   +[]+|  []  || ||  []   |   +[]+|   "
echo "  |[]+    |      || ||       |[]+    |   "
echo "  |_______|------------------|_______|   "
echo "                                         "
echo "                                         "
echo "      ${green}You have just committed code ${red}  " 
echo "      Your code ${yellow}is bad.!!!      "
echo "      ${red} Do not ever commit again    "
echo "                                         "
echo "${default}"


1
他可能希望以某种方式突出显示错误消息。 - David Ferenczy Rogožan
1
我已发布了一个完整的工作样例。我正在将其用作我的存储库钩子的一部分。 - CodeWizard
但是钩子不会改变Git的行为,它只是额外执行的某个东西,不会改变Git在控制台上打印出来的内容和方式。或者它作为参数接收错误消息,这样你就可以再次打印它(这样它就会被打印两次)?还是我没有理解你的意思。 - David Ferenczy Rogožan
很棒,你有答案 :-)。 - CodeWizard
没有人能错过这样的错误信息......相信我。我偶尔更新ASCII以引起注意。 - CodeWizard
请友善地接受并投票,因为这是您问题的正确答案。 - CodeWizard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接