The git push man page seems to have documented the flag:
--progress
Execution status is reported in the standard error stream by default when it is connected to the terminal, unless -q specified. This flag conveys the execution status, even if the standard error stream is not directed to the terminal.
Since IntelliJ does not run the program under the terminal, its Git request reports progress.
The reason for specifying both local and remote refspec on the git push command line is that they are never optimized for the case where both sides are the same. storyBranchA equivalent to storyBranchA:storyBranchA . It is possible that a branch is called locally in one way and remotely in another. In this case, you will see something like storyBranchA:someOtherRef on the command line.
You also don’t want to just use git push blindly, because their settings may have a git push setting to push all the tracking branches, and not the only branch that was intended.
source share