fix: push to remote only if files have changed