클라우드 엔지니어링 교육중
3일간 단기 프로젝트이며
수강생들이 git flow를 숙달되지 못한 상태여서,
아래와 같은 형식으로 협업하는 방법을 제안했다.
Fork는 원본 원격 저장소 내용을 내 원격 저장소로 소스를 불러온다.
clone과 다르게 내 원격 저장소의 내용이 변경되면, 원본 원격 저장소가 인지가 가능하다.
Test를 제대로 거치지 않는 소스가 Main에 바로 올라가면 위험하기에 하나의 안전장치 역활을 한다.
1팀에 A,B,C 팀원이 있다고 가정한다.
A,B,C 팀원은 "1Team-repo"라는 팀용 레포를 하나 만들었다.
A라는 팀원이 대표로 "1Team-repo"에 Main 브랜치에서 Develop 브랜치를 생성한다.
그후 A,B,C 팀원 각자 "1Team-repo"에 Develop 브랜치 소스를 fork한다.
그러면 각자 개인 원격 저장소의 "1Team-repo" Develop 브랜치 소스가 들어온다.
그다음 그 개인 원격 저장소 레포를 개인 로컬 저장소에 Clone한다.
A 팀원이 작업한다고 가정했을경우
개인 로컬 저장소에서 수정한 파일을 개인 원격 저장소에 올린다.
그뒤에 "1Team-repo" Develop 브랜치에 PR(Pull Request)을 올린다.
그러면 B,C 팀원은 PR(Pull Request)된 내용에 변경사항을 확인한후 코드리뷰 코맨트를 남긴다.
A 팀원은 B,C 팀원이 확인했음을 간주하고 "1Team-repo" Develop 브랜치에 PR올려진 소스를 Merge한다.
B,C 팀원은 해당 최신 소스를 개인 로컬 저장소에 Pull한뒤 작업을 이어서 한다.
A,B,C 팀원 동일하게 이후 작업은 3,4,5 번을 반복한다.