I'm writing a deployment command for my framework's command line tool. It uses git to deploy.
I have a line where I do this:
exec("git push {$remote} {$branch}:{$branch}", $shell_output, $status);
I would like to have the output of the push inside $shell_output
, but its not happening (The output just shows up on terminal). I think because git
is an external program and therefore creates a new output stream?
I've tried using an output buffer described here to no avail. I'm sure theres something on SO that can answer this, but haven't been able to find it after much digging..
So any help will be much appreciated :)
git sends its output to STDERR not STDOUT so you will need to redirect that with something like this:
git push REPO --progress 2>&1
or to a file:
git push REPO --progress > /path/to/file 2>&1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With