У нас имеется один репозиторий и один проект развернутый локально.
1) Я сделал коммит commit1, задеплоил изменения в staging на сервер (например, чтобы показать руководителю, не программисту).
2) Руководитель сказал хорошо, но нужно сделать кое-что другое, совсем другой функционал. А commit1 пока не деплоить на staging.
3) Я делаю commit2 в репозиторий, опять деплою на staging.
Все нормально, нужно деплоить в production. Но в репозитории уже есть commit1 который деплоить в production нельзя, соответственно я в ручную возвращаю старый код в этих файлах и только тогда деплою в production изменения commit2.