Вадим, из банального можно тупо откатиться на нужный коммит, клонировать всю репу, далее подтянуть все последние изменения и скопировать клонированную репу обратно.
Можно ли это сделать с помощью гита понятия не имею, как минимум не вижу никакого практического смысла в этом вообще.
Вадим, что-то тут не то. Если они есть в истории, значит измения есть и никуда они не пропали. Технически можно сделать новый коммит, скопипастив в него старую реализацию (до этих 2ух коммитов), но, опять же, этот окммит будет в истории.
Удалить изменения без удаления коммитов из истории или добавления нового коммита просто нельзя.
Вадим, на продакшан должна идти отдельная релизная ветка (в идеале для каждого релиза своя), а затирать изменения (особенно чужие) на любой ветке — это это не то, что антипаттерн, это чуть ли не противозаконно.
Если ему надо что-то на прод, пусть делает соответствующую ветку. В крайнем случае самый простой и быстрый вариант, оставить ваш мастер как есть и его на прод заливать, создать новую ветку (прим: develop) и в девлоп все коммиты лить, а в мастер тогда хард ресетить до нужных изменений. Это всё ещё так себе, но проще и на порядок лучше.
Я могу понять ещё претензию к пробелу, но слеш? Как же хорошо, что это нельзя отключить.