fds-se icon indicating copy to clipboard operation
fds-se copied to clipboard

안녕하세요! git option 관련 질문입니다!

Open gimdongwon opened this issue 6 years ago • 2 comments

bare 옵션과 mirror 옵션에 대해서 궁금합니다.

구글링을 통해 보았는데

--bare GIT repository 를 bare 로 만든다. 즉 를 생성하고 /.git 을 생성하는 대신에 자체를 $GIT_DIR 로 만든다. 이 옵션은 기본적으로 -n 옵션을 포함하는데, 그 이유는 working tree 를 체크아웃할 곳이 없기 때문이다. 또한 remote 의 branch heads 가 refs/remotes/origin 으로 매핑되지 않고, 관련된 local branch heads 로 바로 복사된다. 이 옵션이 사용되면, remote-tracking branches 와 관련된 configuration 변수는 생성되지 않는다.

--mirror remote repository 의 복사본을 만든다. 이것은 --bare 옵션을 포함한다.

출처: http://pinocc.tistory.com/138 [땅뚱 창고]

명확히 이해가 되지 않습니다..

아까 여쭈어 봤어야 됬는데 깜빡했습니다. ㅠㅠ

이 옵션을 쓰는 이유가 fork 이용시에 한 레포지토리 밖에 사용을 못해서 다중 복사를 할때 사용하는 거라고 알고있는데

이런 옵션을 쓰지않고 colaborator을 통해서 하면 더 간편하고 쉽게 사용할 수 있지 않을까요?

오늘 알려주신 대로 콜라보레이터를 안쓰기 위해 사용하는 것인가요?

궁금합니다!

gimdongwon avatar Jun 08 '18 08:06 gimdongwon

안녕하세요^^

이 옵션은 보통 깃 서버를 독립으로 호스팅할 때 사용합니다. 굳이 작성한 파일을 저장할 필요가 없이 공간이 필요할 경우에 사용하는 옵션입니다. 프로젝트 매니저나 서버관리자가 서버에 bare 옵션으로 init을 하고, 이 공간에 개발자들이 non-bare로 클론을 해 코드 관리를 하곤 합니다.

fork라는 작업 자체는 clone과 다를 바가 없지만, 내부에서 클론이 일어날 때 bare 옵션으로 트리 정보를 가져온 뒤, mirror 옵션으로 내 소유로 push 하는 작업이라 알고 있습니다^^

fork라는 액션이 미리 정의되어 있지 않았다면.. git clone --bare original git push --mirror my-origin

을 했어야 하는 셈이죠^^ 저 두 작업이 포크 버튼 한 번 누르는 동안 일어나는 일이구, 로컬에 clone을 하면 블롭들이 땡겨져 들어오는 구조입니다.

--bare 의 자세한 용례는 아틀라시안의 튜토리얼을 참조해보심 좋을 것 같아요 ^^ 많은 사람이 붙어 작업할 때 중앙 레포를 --bare로 두었을 때 일어나는 일에 대해 설명하고 있습니다. 핵심은 --bare로 생성해 로그만 관리하고, 이 레포를 클론해 브랜치 위에서 일을 한 뒤 커밋하는 구조입니다. https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-init

읽어보시구 더 도움이 필요하시면 말씀해주세요^^

감사합니다 최우영 드림

On Jun 8, 2018, 17:25 +0900, kimdongwon [email protected], wrote:

bare 옵션과 mirror 옵션에 대해서 궁금합니다. 구글링을 통해 보았는데 --bare GIT repository 를 bare 로 만든다. 즉 를 생성하고 /.git 을 생성하는 대신에 자체를 $GIT_DIR 로 만든다. 이 옵션은 기본적으로 -n 옵션을 포함하는데, 그 이유는 working tree 를 체크아웃할 곳이 없기 때문이다. 또한 remote 의 branch heads 가 refs/remotes/origin 으로 매핑되지 않고, 관련된 local branch heads 로 바로 복사된다. 이 옵션이 사용되면, remote-tracking branches 와 관련된 configuration 변수는 생성되지 않는다. --mirror remote repository 의 복사본을 만든다. 이것은 --bare 옵션을 포함한다. 출처: http://pinocc.tistory.com/138 [땅뚱 창고] 명확히 이해가 되지 않습니다.. 아까 여쭈어 봤어야 됬는데 깜빡했습니다. ㅠㅠ 이 옵션을 쓰는 이유가 fork 이용시에 한 레포지토리 밖에 사용을 못해서 다중 복사를 할때 사용하는 거라고 알고있는데 이런 옵션을 쓰지않고 colaborator을 통해서 하면 더 간편하고 쉽게 사용할 수 있지 않을까요? 오늘 알려주신 대로 콜라보레이터를 안쓰기 위해 사용하는 것인가요? 궁금합니다! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

ulgoon avatar Jun 14 '18 09:06 ulgoon

답변 감사합니다! 강사님!

하지만 이해가 많이 어렵네요 ㅠㅠ

조금더 공부 하면서 이해해 보도록 하겠습니다!

gimdongwon avatar Jun 14 '18 16:06 gimdongwon