Every time you push to a branch that is tied to a merge request, a new version of merge request diff is created. When you visit a merge request that contains more than one pushes, you can select and compare the versions of those merge request diffs.
By default, the latest version of changes is shown. However, you can select an older one from version dropdown.
Merge request versions are based on push not on commit. So, if you pushed 5 commits in a single push, it will be a single option in the dropdown. If you pushed 5 times, that will count for 5 options.
You can also compare the merge request version with an older one to see what has changed since then.
Comments are disabled while viewing outdated merge versions or comparing to versions other than base.
Every time you push new changes to the branch, a link to compare the last changes appears as a system note.
Introduced in GitLab 10.5.
When viewing the commit details page, GitLab will link to the merge request (or merge requests, if it’s in more than one) containing that commit.
This only applies to commits that are in the most recent version of a merge request - if a commit was in a merge request, then rebased out of that merge request, they will not be linked.