GitLab repo push mirroring, entire repo or just new commits to certain branches?

We are using GitLab.com (migrating away from GitHub).

When you set up GitLab repo mirroring to be PUSH, what happens when you push a commit to a certain branch? Does it one-way sync the entire repo each time it updates or does it only push the commit to the branch it was committed down to the remote repo? Said another way, if I commit a change to branch feat/123 in GitLab repo, does just that commit get mirrored down to the feat/123 branch of the remote GitHub repo?

Scenario:

I have 100 Heroku apps that are currently tied to a GitHub repo on a branch called ‘deploy’. When we push to the deploy branch, that kicks off our GitHub CI: build, deploy, apps restart automatically.

We are migrating from GitHub to GitLab. I was going to try to use GitLab repo mirroring set up as PUSH to automatically update the deploy branch in the GitHub repo that the Heroku apps are tied to keep our simple Heroku CI in place.

Observation:

What appears to be happening with our GitLab push mirroring is that if any commit gets pushed to the GitLab repo, the entire repo gets mirrored again (not just the branch that the commit was pushed to in GitLab).

I guess that I was expecting just the branch to get mirrored (synced to the remote).

Thanks for the clarification and insight.

Josh Blair