Hi,
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)
--bare
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.
--mirror
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.