깃허브로 하는 그룹 프로젝트: 단계별 가이드
안녕하세요! 이 블로그 글에서는 깃허브를 사용한 그룹 프로젝트의 핵심 과정을 상세히 설명하겠습니다. 이 가이드를 따라하면, 여러분도 깃허브로 효과적인 그룹 프로젝트를 진행할 수 있는 능력을 갖출 수 있을 것입니다.
핵심 과정: 브랜치 전략과 풀 리퀘스트
깃허브 그룹 프로젝트의 가장 중요한 요소는 적절한 브랜치 전략과 풀 리퀘스트를 활용한 코드 리뷰 프로세스입니다. 이를 중심으로 단계별로 설명하겠습니다.
1. 리포지토리 설정 (팀장 역할)
- 깃허브에서 새 리포지토리를 생성합니다:
- 깃허브 메인 페이지에서 우측 상단의 "+" 아이콘 클릭
- "New repository" 선택
- 리포지토리 이름 입력 (예: "group-project")
- 필요에 따라 설명 추가
- Public 또는 Private 선택
- "Initialize this repository with a README" 체크
- "Create repository" 클릭
- 팀원들을 리포지토리에 초대합니다:
- 생성된 리포지토리 페이지에서 "Settings" 탭 클릭
- 좌측 메뉴에서 "Collaborators and teams" 선택
- "Add people" 또는 "Add teams" 버튼 클릭
- 초대할 팀원의 깃허브 사용자명, 풀네임, 또는 이메일 주소 입력
- 팀원 선택 후 "Add [사용자명] to this repository" 클릭
- 필요에 따라 권한 레벨 설정 (Read, Triage, Write, Maintain, Admin)
- "Add [사용자명] to [리포지토리 이름]" 클릭하여 초대 완료
- 초대된 팀원들은 이메일로 초대 링크를 받게 됩니다. 팀원들은 이 링크를 통해 리포지토리 접근 권한을 수락할 수 있습니다.
- 기본 파일(README.md 등)을 생성하고 초기 커밋을 합니다:
- 리포지토리 메인 페이지에서 "Add file" 드롭다운 메뉴 클릭
- "Create new file" 선택
- 파일 이름에 "README.md" 입력
- 내용에 프로젝트 설명 작성 (마크다운 형식 사용)
- 페이지 하단의 "Commit new file" 클릭
이렇게 하면 리포지토리 생성과 팀원 초대가 완료됩니다. 이제 팀원들이 초대를 수락하면 함께 프로젝트를 시작할 수 있습니다.
2. 브랜치 전략 수립 (팀장 역할)
- master 브랜치: 최종 제품 버전을 위한 브랜치
- develop 브랜치: 개발 중인 버전을 위한 브랜치
- 터미널에서 develop 브랜치 생성:
git checkout -b develop git push -u origin develop
- master 브랜치 보호 규칙 설정:
- 리포지토리 Settings > Branches로 이동
- "Add rule" 클릭, branch name pattern에 "master" 입력
- "Require pull request reviews before merging" 체크
- "Require status checks to pass before merging" 체크
- "Save changes" 클릭
3. 프로젝트 보드 생성 (팀장 역할)
- 리포지토리의 "Projects" 탭에서 "Create a project" 클릭
- 보드 형식 선택 (e.g., Basic kanban)
- 컬럼 생성: To do, In progress, Done
4. 개발 시작 (팀원 역할)
- 리포지토리 클론:
git clone [repository-url] cd [repository-name]
- develop 브랜치로 전환:
git checkout develop
- 새 기능 브랜치 생성:
git checkout -b feature/[기능명]
- 코드 작성 및 커밋:
git add . git commit -m "Add [기능명]"
- 브랜치 푸시:
git push -u origin feature/[기능명]
5. 풀 리퀘스트 생성 (팀원 역할)
- 깃허브 리포지토리 페이지로 이동
- "Pull requests" 탭 클릭
- "New pull request" 클릭
- base:develop <- compare:feature/[기능명] 선택
- "Create pull request" 클릭
- 제목과 설명 작성 후 "Create pull request" 클릭
6. 코드 리뷰 (팀원들)
- 풀 리퀘스트 페이지의 "Files changed" 탭에서 코드 검토
- 코멘트가 필요한 라인에 커서를 올리고 파란색 "+" 버튼 클릭하여 코멘트 작성
- 전체 리뷰를 마치면 "Review changes" 클릭
- "Approve", "Comment", 또는 "Request changes" 선택 후 "Submit review" 클릭
7. 풀 리퀘스트 병합 (팀장 또는 승인된 팀원)
- 모든 리뷰가 승인되면 "Merge pull request" 클릭
- "Confirm merge" 클릭
- 필요시 "Delete branch" 클릭하여 feature 브랜치 삭제
8. 충돌 해결 (필요시)
충돌이 발생하면 다음 단계를 따릅니다:
- 로컬에서 develop 브랜치 최신화:
git checkout develop git pull origin develop
- 충돌이 있는 feature 브랜치로 전환:
git checkout feature/[기능명]
- develop 브랜치 병합:
git merge develop
- 충돌 파일 열어 충돌 부분 수정
- 수정 후 커밋:
git add . git commit -m "Resolve merge conflicts"
- 브랜치 푸시:
git push origin feature/[기능명]
9. develop에서 master로 병합 (릴리즈 시)
- develop 브랜치의 모든 기능이 완성되고 테스트를 마치면 새로운 풀 리퀘스트 생성
- base:master <- compare:develop 선택
- 코드 리뷰 및 승인 과정 진행
- 모든 승인 후 병합
이 과정을 반복하면서 프로젝트를 진행하면, 효과적인 협업과 코드 품질 관리가 가능합니다. 깃허브의 다양한 기능을 활용하여 프로젝트 관리의 효율성을 높일 수 있습니다.
실제로 이 과정을 따라해보면서 경험을 쌓으시기 바랍니다. 처음에는 복잡해 보일 수 있지만, 몇 번 반복하다 보면 자연스럽게 익숙해질 것입니다. 화이팅!