When you deploy to production, the package and deployment wizard will create all new entities for you, and update any existing entities that it finds have changed in your new package. During the analysis part of the deploy to prod, it will list out everything it thinks is new/changed for you to review before you click the Publish button.
Just to add on, please make sure you have a proper deployment plan. You want to avoid creating something on a development environment, then create something similar on production again. They may look similar, but K2 will treat them as different objects as they have different GUIDs. When you one day wish to create a package from development, then deploy it over to production, you may face several conflict issues.
What you should do is create or update your objects in a development environment, then create a package and deploy them over to your production environment. You should be doing this right from the start to avoid any future conflicts.
The P&D tool should package all the dependencies you are using, including your environment field. When deploying them to your production, it should tell you what object already exists, and what needs to be deployed.
My plan is to do the up-gradation in the development environment then create package and deploy in the production. I have done modification in the rules of forms, views and smartobjects. Will those replace the objects, forms and views that are already exist in the production?