В соответствии с правилами русского языка названия городов согласуются в падеже с определяемым словом. Т.е. это нормально говорить в городе Москве, под городом Екатеринбургом, над городом Санкт-Петербургом. Исключение составляются города с окончанием на -о или содержащие в названии два слова: в городе Кемерово, в городе Минеральные воды. В географической литературе или деловых документах тоже названия городов обычно не склоняют: в городе Самарканд. Что касается деревень и сел, то они тоже согласуются с падеже с определяемым словом: родился в деревне Ивановке...
Правильно ли мы говорим. О склонении географических названий Прежде чем разбираться с темой о склонении географических названий, давайте вспомним некоторые термины, связанные с этой темой. Так, мы говорим Москва или город Москва. Во втором варианте появляется родовое наименование: город. Другие родовые наименования: село, деревня, хутор, река и т.д. А теперь посмотрим, что происходит с географическим названием, употреблённым с родовым словом. А происходит вот что: географическое название согласуется (то есть склоняется) с родовым наименованием: в городе Москве...