git으로 공동 작업 저장소 어떻게 하는 것이 좋은가요?
글쓴이: hz / 작성시간: 목, 2009/04/09 - 9:48오후
여러 사람이 공동으로 작업하는 프로젝트에서 git을 사용하면서
중앙 저장소를 만들려고 할 때 어떻게 하면 좋은가요?
검색하고 매뉴얼들을 읽어봐도 방법들이 여러가지가 있어서 어떻게
하는 것이 좋을지 감이 잘 서지 않습니다. 관련해서 생각해야 될 점을
포함해서 조언을 해 주시면 고맙겠습니다.
Forums:
cvs, svn과 크게 다를 바 없습니다
전 git는 직접 써 본 적은 없고 darcs와 mercurial은 써봤는데요, sandbox가 따로 없고 로컬 복사본도 repository가 된다는 점이 다를 뿐, cvs svn 등 전통적인 중앙집중식 버전관리툴에 익숙한 분들이라면 쉽게 적응합니다.
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
네... 궁금한 점을 더
네... 궁금한 점을 더 정확하게 말씀드리면... shared repository를 어떤 방식으로
설정하는가 하는 것입니다. 매뉴얼도 읽고 검색해 보니 방법들이 많은데요.
1) SSH로. 모든 개발자에 계정을 발급하고 repository에 쓰기 권한을 준다.
2) repository를 git protocol 등으로 public하게 열어놓아 누구나 받아 볼 수
있도록만 하고 직접 push는 하지 못하게 한다. push는 SSH를 통해 관리자 혼자만
한다. 다른 사람들이 관리자에게 메일로 패치를 보내면 일괄적으로 처리한다.
3) git repository를 호스팅하게 해 주는 gitosis 같은 툴을 쓴다.
등등
어떤 방법을 추천하시는지 알고 싶습니다.
중앙저장소에 대한
중앙저장소에 대한 변경권한을 프로젝트 참가자 전원에게 줄 것인지 maintainer 개인 혹은 그룹에게만 줄것인지 고민되시는 거죠 ?
제가 있는 팀도 거의 지난 1여년간 토론했고 논쟁했습니다만, '이것이 정답' 식의 결론은 나지 않더군요.
git 를 사용하면서 같은 고민을 하는 사람이 한두명이 아닐겁니다.
http://code.google.com/p/gerrit/
을 알아보세요.
git 을 위한 code review & merge 시스템인데...
moderator 가 제한되어 있다면 이런 식의 시스템을 운영하는 것이 좋겠죠.
적용된 예는 https://review.source.android.com/Gerrit#all,open,n,z 에서 보실 수 있고요
open, merged, abandoned 로 나눠져 있습니다.
OTL
4) 중앙 관리자가 각 팀 저장소를 끌어오는 방법도 있습니다.
예를 들어 어느 정도 규모가 되는 프로젝트를 3팀이 각각 어떤 모듈을 중심으로 맡아 개발한다면,
A팀, B팀, C팀이 각 팀장 권한 하에 1)번이나 2)번 등의 방법으로 각각의 팀 공유 저장소를 만들어 팀별로 사용하면, 중앙 관리자는 팀장들로부터 보고를 받고 changeLog 등을 보면서 어떤 단계의 패치를 pull해 올지 결정하서 메인 저장소로 가져오면 됩니다. 물론 이런 모델에서는 팀장이 수시로 메인 저장소에서 팀 공용 저장소로 변경사항을 수시로 업데이트하면서 팀원들에게 알리는 것이 중요하겠죠.
이런 다양한 방식의 프로젝트 저장소 구성이 가능한 것이 분산형 버전 관리 시스템의 장점입니다.
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
댓글 달기