我如何摆脱git后接种后返回的每一行上出现的“遥控器:”消息?

StackOverflow https://stackoverflow.com/questions/3170337

  •  02-10-2019
  •  | 
  •  

我已经在git中创建了一个后接种的钩子。挂钩输出消息到屏幕,然后将其发送回GIT客户端,然后输出。

在每一条输出行之前,如何摆脱“遥控器:”文本?这是相当分心的。 (我知道这是可能的,因为我在实践中看到了它,我只是不知道它是如何完成的)

有帮助吗?

解决方案

注意:前缀对于避免将远程系统中的消息误入本地系统的消息可能很重要。

也就是说,没有办法关闭前缀,但它们都写给了stderr。您可以重定向/捕获/过滤stderr git推 做你想做的事。

一种粗略的做法可能是这样的:

git push ... 2>&1 | sed -e 's/^remote: //'

它将Stdout发送到管道,并使STDERR GOTO成为同一位置。在管道的另一端, sed 读取组合输出并删除任何 remote: 前缀。这应该没关系,因为我们不太可能看到 remote: Stdout流中的前缀。将类似的stdout和stderr组合在一起,通常可以用于交互式使用(因为它们可能会进入同一TTY设备),但是在自动上下文(例如脚本)中使用可能不是一个好主意。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top