Славянские и давно освоенные названия городов со словом город склоняются.
В городе Москве
Из города Красноярска
Это как «пришёл с другом Антоном» (мы же не говорим «с другом Антон»).
Это же касается и сокращения г.
В г. Москве
Из г. Красноярска
⠀
Но есть исключения:
- названия в форме множественного числа (в городе Мытищи),
- топонимы на -ово/-ево, -ино/-ыно (в городе Кемерово),
- составные названия (в городе Старый Оскол).
⠀
Хочу обратить внимание на ещё один важный момент.
Ошибки здесь возникают из-за нашей непонятной любви к канцеляриту.
Зачем здесь слово город? В большинстве случаев можно спокойно обойтись без него.
Да, его стоит использовать, если нужно уточнить, что говорим о городе. Например, вы описываете какому-нибудь аргентинцу красоты сибирской глубинки.
Но если и так ясно, что речь о городе, то не нужно использовать это канцелярское нагромождение.
Правильно:
в Москве,
из Красноярска.
⠀
О топонимах на -ово/-ево и -ино/-ыно (Кемерово, Переделкино) можно почитать здесь.