кажется, вы не дошли до транзакций..
и до того, что у вас есть товар, у него есть вариации, размеры, например.
а какой-то чудак взял и удалил товар.. а вариации остались. и заказы...
--soft сбрасывает коммит так, будто git add на файлы сделан
--mixed сбрасывает коммит так, будто не было git add на эти файлы, это по-умолчанию.
--hard сбрасывает коммит и удаляет изменеия. Но, коммит доступен по своему хэшу, если он не удален gc