Git is Distributed version Control system
Standard Git Practices
3)Different Environments DEV ,IT ,UAT ,Prod.
4) Jenkins for Continuous Integration and Deployment .
Here is stand practice for Git
2)we can Fork the masterBranch then we get the ForkedMasterBranch .it will create a copy of master Branch
3)on that ForkedMasterBranch for each enhancement we will create a feature Branch by each developer .we will commit the changes to the feature Branch and do the pull request to commit the changes to forkedMasterBranch .
Pullrequest means the latest code in the ForkedMaster Branch we will get and merge the feature Branch after Peer review .Means once the developer commit his changes on his feature Branch .we will raise the pull request and assigh the reviewers .then that guy will get the mail that some one made pull request .so that guy will open it and merge the code by resolving the confilcts if any .
Now the code is @ForkedMasterBranch .From this we can test the code in DEV,IT,UAT using Jenkins .
For Prod Environment we need to deploy the code from master Branch through Jenkins .so we have to commit the code From ForkedMasterBranch to master Branch by doing pull request as earlier .Here only few will have the permissions to commit the code into master Branch like Leads .so Lead will we the responsible person to commit the code into master Branch .