gitgithubgitlabpull-requestmerge-request

Differences github merge "pull-request" and gitlab merge "merge-request"


For a better understanding of these operations I would like to know how exactly github or gitlab are merging these requests. Which git commands are executed in detail, when squashing, rebasing, merging,...?


Solution

  • There is no difference between PRs and MRs. The terminology "Pull request" is a reference to how git is used for example in kernel development. Say you are a developer, and I am the maintainer. For you to get changes incorporated, you would generate a diff patch and email it to me, so that I can review it, and request that I pull those changes from your repository if I think they are suitable. Hence "pull request", and the git command git pull-request.

    A merge request is a reframing of this process. This is a result of the fact that we're not really asking for someone to pull from our repository, but rather asking that our changes be merged to the develop/master branch, often from a branch of the same repository. Hence, gitlab phrases the same process "merge request" rather than "pull request".

    In both cases, the actual commands executed depend on the options selected. Both gitlab and github allow squashing, rebasing, and merging, and the commands are likely almost if not exactly identical.