Pull Request vs Merge Request
Merge Request

After changes to a Branch are finished they are Merged into another Branch. This enables you to essentially replay all the changes Committed to a Branch on another Branch to contribute those changes; generally by merging a “child” Branch back to it’s “parent” Branch.
Example steps of the Simplified Git Flow
Let’s take a team working on a Project that has 2 members, John and Sarah. Git is the version control system being used, and the Project is comprised of a single Repository with a Branch named “master” that is used to maintain the source code files for the Production deployment of the Project.
- The “master” branch is used to track the source code that gets deployed to the Production environment for the project
- When either John or Sarah begin working on a feature, they each create a new branch to work within.
- When working on that feature, they Commit their changes into that Branch.
- Then when they’ve finished working on the feature, they test their changes by compiling the source code and running it locally as well as in a test environment.
- Then once testing is completed, they merge their changes from their “feature” Branch into the “master” branch to contribute it back up the chain.
- Then testing is completed with the new changes merged into “master”.
- Once testing and validation has completed, the latest code in “master” is deployed out to Production and the new feature become live in the project.
- After all this, the feature Branch is then deleted to clean up the repository and keep any branches from cluttering things up and confusing future development work later on. Also, changes made have been recorded in “master” so the history of the Branch is no longer necessary.