commit vs. push