Version Control Tug-O-War
When talking to customers and also internal teams, I have come across some confusion created by the term “Pull Request”. This seems to stem from the version control tools used, the experience of the engineer with past tools, and the process terminology vs the name of the version control commands.
It is generally understood that a GIT “Pull Request” is an individual developer informing the rest of the team that he or she has new or modified source code that is proposed to be merged into the base code repository. Typically, the developer is required to perform several steps before making a pull request including static analysis, unit testing, etc. In turn, peer reviews and other quality checks are performed as part of the Pull Request
Confusion can occur because of the difference between the terminology of the different GIT hosting service: Merge Request and Pull Request. The hosting service Gitlab uses the term Merge Request and Bitbucket and GitHub use Pull Request, but the concept is all the same. It’s a process and tool function to safely evaluate if source code is ready to be merged into the main branch (typically the dev branch or master branch).
Confusion can also occur with the difference in the word “Pull” in Pull Request vs git-pull command. They are not the same thing. An individual developer can either use command line or a graphical interface to do a git-pull to update their local repository with the latest from the remote repository. They can then do a git-push to update the remote feature branch prior to requesting a Pull Request. This means that when the Pull Request is completed, and the code is merged from the remote feature branch to the remote dev branch, a git-pull is typically not used.
Contact me if you are interested in talking more about how EASi can partner on software projects including our process for Configuration Management within our Quality Management System.
Is git pull different than git fetch?