Working with pull requests
As mentioned earlier, pull requests, sometimes referred to as PRs or merge requests, are a formal request for someone to merge a set of changes (one or more commits) into a branch. Creating pull requests involves selecting a source and target branch to have code merged together in the target branch. Generally, this occurs from a feature branch in the main (or dev) branch, but the request can technically be between any two branches.
Pull requests provide a gating process that allows one or more different team members to put a fresh set of eyes on incoming code changes. Likewise, pull requests can be used to separate the roles of the developer from the release manager. Since outside processes such as continuous integration/continuous deployment are often tied to key branches, controlling who can commit code to them can be important.
In fact, many organizations remove commit rights to the main branch and only allow an admin or release manager to commit...