Как уже сказали, возможность указать название начальной ветки, отличное от master, появилось в Git версии 2.28.
Вы всегда можете переименовать master после инициализации, но лучше обновиться.
И не важно, есть в текущем каталоге файлы или нет. Зачем вы акцентируете на этом внимание?
Ваш второй вопрос к инициализации не относится:
И почему пуш делается обязательно с --set-upstream?
Не обязательно. Этот ключ лишь добавляет связь между локальной и внешней веткой. Чтобы в следующий раз отправлять коммиты просто командой push. Git уже будет помнить, в какой внешний репозиторий отправлять и в какую ветку.
И самое важное:
Никогда не вбивайте команды, смысл которых не понимаете. Сначала почитайте их описание.