smart git commit and pushed