Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解读Heroku';git推送';regluar和x27的输出;git推送';输出错误_Git_Parsing_Heroku_Push_Stderr - Fatal编程技术网

解读Heroku';git推送';regluar和x27的输出;git推送';输出错误

解读Heroku';git推送';regluar和x27的输出;git推送';输出错误,git,parsing,heroku,push,stderr,Git,Parsing,Heroku,Push,Stderr,目前,我解析来自gitpush-q的STDERR输出,向用户显示任何gitpush错误。这在大多数情况下都非常有效。但是,当推送到Heroku时,它们的预接收钩子也会将服务器的状态和应用程序的状态输出到STDERR 我基本上只是在寻找一种简单的方法来区分输出是否是来自git和无关Heroku数据的错误。我已经试着检查是否存在“-->”前缀,但并非所有Heroku输出都有前缀。我还想过在STDERR字符串中检查“fatal:”和“ssh:”,但这似乎非常脆弱。我也找不到任何文档说明每个git错误都

目前,我解析来自
gitpush-q
的STDERR输出,向用户显示任何
gitpush
错误。这在大多数情况下都非常有效。但是,当推送到Heroku时,它们的预接收钩子也会将服务器的状态和应用程序的状态输出到STDERR

我基本上只是在寻找一种简单的方法来区分输出是否是来自git和无关Heroku数据的错误。我已经试着检查是否存在“
-->
”前缀,但并非所有Heroku输出都有前缀。我还想过在STDERR字符串中检查“
fatal:
”和“
ssh:
”,但这似乎非常脆弱。我也找不到任何文档说明每个git错误都以
***:

发送到STDERR的实际Git错误:

ssh: Could not resolve hostname heroku.com: nodename nor servname provided, or not known
fatal: The remote end hung up unexpectedly
典型的Heroku状态:

-----> Heroku receiving push
-----> Rack app detected
-----> Gemfile detected, running Bundler version 1.0.3
       All dependencies are satisfied
       Compiled slug size is 8.4MB
-----> Launching.... done
       http://XXXXXXX.com deployed to Heroku

有人有没有更好的方法来完成只识别真正的git错误的任务?

根据Heroku的说法:到目前为止,还没有可靠的方法来区分Heroku输出和git输出。但他们正在努力使输出格式标准化


因此,主要是寻找最常见的元素。

我知道我可以通过查看退出状态来判断推送是否成功,但我希望显示有意义的错误消息。