How does SQL Server handle SSIS project deployments, and what is best practice executing these packages?
Could I edit the deployed packages in the future?
You can import from GIT, open the package in SSDT and deploy again. Overwriting the existing deployed package.
You can also export using SSMS save and open in SSDT. Once you make your changes deploy again and update your source control.
As far as not letting anybody else modify or deploy packages this document will give you a good start.  A SSISDB is considered another user database.
Is my deployment method correct and best practice?
As you are using datatools to create your solution I would follow this method (assuming you have the privilege).

Deploy packages by using SQL Server Data Tools (Visual Studio)
In Visual Studio, with an Integration Services project open, select
the package or packages that you want to deploy.
Right-click and
select Deploy Package. The Deployment Wizard opens with the selected
packages configured as the source packages.
Complete the wizard.
Follow the remaining steps described in Package Deployment Model.

You can also do the same using SSMS. Details here.
In case you are not aware that you can deploy package from SSMS using tsql, details here.