Git,  Programming

[Git] clone –bare vs. –mirror 차이

clone 명령어 수행 시 다양한 옵션이 존재하지만, 그 중에서 많이 사용되는 것 중에 baremirror가 존재한다. 차이를 표로 나타내면 다음과 같다.

None–bare–mirror
Working treeOXX
ContentsWorking tree
Repository DB (.git)
Repository DBRepository DB
Pull request (ref/pull/*)

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

  • Tags
  • Branches
  • main HEAD
  • next
  • pu
  • maint

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

--bare option을 주면 repository DB들을 볼 수 있다.

$ ls
branches  config  description  HEAD  hooks  info  objects  packed-refs	refs

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

Reference

  1. https://www.whatwant.com/entry/bare-%EC%99%80-mirror%EC%9D%98-%EC%B0%A8%EC%9D%B4
  2. https://stackoverflow.com/questions/3959924/whats-the-difference-between-git-clone-mirror-and-git-clone-bare

Leave a Reply

Your email address will not be published. Required fields are marked *