Ejecutando 'git pull' usando shell_exec en PHP que no muestra error

Estoy creando un script de deployment para github, escrito en PHP. Estoy usando el command shell_exec para ejecutar git pull que funciona bien.

Mi problema ocurre cuando hay un error con el tirón. Si lo hago en Terminal, obtengo el error completo. Por ejemplo:

 git pull origin master Updating f706749..8468d24 test.txt: needs update error: Entry 'test.txt' not uptodate. Cannot merge. 

Pero cuando ejecuto el mismo command en shell_exec el resultado se trunca a solo

 Updating f706749..8468d24 test.txt: needs update 

El post de error se corta, posiblemente porque es una respuesta de la respuesta anterior. ¿Hay alguna forma de devolver la producción completa?

10-1 las líneas faltantes no están escritas en stdout sino en stderr .

En ese caso, puede networkingirigir el stderr a stdout con

 "command 2>&1" 

El 2> y 1 networkingirige los posts de error al file de salida normal.

Al search un poco, podría haber encontrado la respuesta a su problema.

Intenta capturar stderr.

Espero que esto ayude y buena suerte!

Transmite el error a tu salida. En el command exec use 2> que es el flujo de "error estándar".