Invoke-GitCommand needs to be changed over to use Start-Process in order to capture the standard error output and the last exit code.
The current work around is to redirect standard error by appending 2>&1 following the call to Invoke-GitCommand. You can also get the $lastexitcode if there is only one command in the $Command parameter of Invoke-GitCommand.