Import repo by url : why gitlab use --bare vs --mirror?

I have to move some existing public repositories to gitlab.
I don’t really understand what is the difference between --bare and --mirror, and why the import process of gitlab chose --bare ? Is someone can explain ? Thanks !

(man page of git-clone)

       Make a bare Git repository. That is, instead of creating <directory> and placing the administrative
       files in <directory>/.git, make the <directory> itself the $GIT_DIR. This obviously implies the -n
       because there is nowhere to check out the working tree. Also the branch heads at the remote are copied
       directly to corresponding local branch heads, without mapping them to refs/remotes/origin/. When this
       option is used, neither remote-tracking branches nor the related configuration variables are created.

       Set up a mirror of the source repository. This implies --bare. Compared to --bare, --mirror not only
       maps local branches of the source to local branches of the target, it maps all refs (including
       remote-tracking branches, notes etc.) and sets up a refspec configuration such that all these refs are
       overwritten by a git remote update in the target repository.