참고 자료 : http://shumin.co.kr/git-clone-bare-vs-mirror-차이/

clone 명령어 수행 시 다양한 옵션이 존재하지만, 그 중에서 많이 사용되는 것 중에 bare와 mirror가 존재한다.

반면에 --mirror 옵션을 사용하여 복제를 실행하면, 원본 저장소의 모든 정보(브랜치, 태그, 리모트 등)를 그대로 복제하여 '거울'과 같은 저장소를 만듭니다. --mirror로 복제한 저장소는 주로 백업이나 원본 저장소를 완벽하게 복제하고 싶을 때 사용됩니다.

None –bare –mirror
Working tree O X X
Contents Working treeRepository DB (.git) Repository DB Repository DBPull request (ref/pull/*)

공통적으로는 repository DB가 모두 복제가 되는데 DB 내용은 다음과 같다.

아무 옵션 없이 clone을 할 경우 우리가 쉽게 볼 수 있는 working tree가 복제와 함께 위 DB도 복제된다.

$ ls

branches config description HEAD hooks info objects packed-refs refs

반면 --mirror는 --bare가 가지고 있는 위의 repository DB 뿐만 아니라, pull request, remote update 정보들도 포함한다고 한다. 따라서 완벽하게 repository 내용과 동일하게 복제된다.