We have self hosted gitlab service. We faced following scenario.
User account was created as
email@example.com after sometime this user updated email address as
firstname.lastname@example.org this user can access to previously created projects.
After sometime a new user came with
email@example.com created gitlab account. This user has access only to newly created personal projects.
firstname.lastname@example.org pushes a code, commit was shown as this new user with
email@example.com, even original projects, their commits etc shown as this new user.