깃허브로 하는 그룹 프로젝트: 단계별 가이드(전체과정)

 깃허브로 하는 그룹 프로젝트: 단계별 가이드

안녕하세요! 이 블로그 글에서는 깃허브를 사용한 그룹 프로젝트의 핵심 과정을 상세히 설명하겠습니다. 이 가이드를 따라하면, 여러분도 깃허브로 효과적인 그룹 프로젝트를 진행할 수 있는 능력을 갖출 수 있을 것입니다.

핵심 과정: 브랜치 전략과 풀 리퀘스트

깃허브 그룹 프로젝트의 가장 중요한 요소는 적절한 브랜치 전략과 풀 리퀘스트를 활용한 코드 리뷰 프로세스입니다. 이를 중심으로 단계별로 설명하겠습니다.

1. 리포지토리 설정 (팀장 역할)

  1. 깃허브에서 새 리포지토리를 생성합니다:
    • 깃허브 메인 페이지에서 우측 상단의 "+" 아이콘 클릭
    • "New repository" 선택
    • 리포지토리 이름 입력 (예: "group-project")
    • 필요에 따라 설명 추가
    • Public 또는 Private 선택
    • "Initialize this repository with a README" 체크
    • "Create repository" 클릭
  2. 팀원들을 리포지토리에 초대합니다:
    • 생성된 리포지토리 페이지에서 "Settings" 탭 클릭
    • 좌측 메뉴에서 "Collaborators and teams" 선택
    • "Add people" 또는 "Add teams" 버튼 클릭
    • 초대할 팀원의 깃허브 사용자명, 풀네임, 또는 이메일 주소 입력
    • 팀원 선택 후 "Add [사용자명] to this repository" 클릭
    • 필요에 따라 권한 레벨 설정 (Read, Triage, Write, Maintain, Admin)
    • "Add [사용자명] to [리포지토리 이름]" 클릭하여 초대 완료
  3. 초대된 팀원들은 이메일로 초대 링크를 받게 됩니다. 팀원들은 이 링크를 통해 리포지토리 접근 권한을 수락할 수 있습니다.
  4. 기본 파일(README.md 등)을 생성하고 초기 커밋을 합니다:
    • 리포지토리 메인 페이지에서 "Add file" 드롭다운 메뉴 클릭
    • "Create new file" 선택
    • 파일 이름에 "README.md" 입력
    • 내용에 프로젝트 설명 작성 (마크다운 형식 사용)
    • 페이지 하단의 "Commit new file" 클릭

이렇게 하면 리포지토리 생성과 팀원 초대가 완료됩니다. 이제 팀원들이 초대를 수락하면 함께 프로젝트를 시작할 수 있습니다.

2. 브랜치 전략 수립 (팀장 역할)

  1. master 브랜치: 최종 제품 버전을 위한 브랜치
  2. develop 브랜치: 개발 중인 버전을 위한 브랜치
  3. 터미널에서 develop 브랜치 생성:
    git checkout -b develop git push -u origin develop
  4. 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. 프로젝트 보드 생성 (팀장 역할)

  1. 리포지토리의 "Projects" 탭에서 "Create a project" 클릭
  2. 보드 형식 선택 (e.g., Basic kanban)
  3. 컬럼 생성: To do, In progress, Done

4. 개발 시작 (팀원 역할)

  1. 리포지토리 클론:
    git clone [repository-url] cd [repository-name]
  2. develop 브랜치로 전환:
    git checkout develop
  3. 새 기능 브랜치 생성:
    git checkout -b feature/[기능명]
  4. 코드 작성 및 커밋:
    git add . git commit -m "Add [기능명]"
  5. 브랜치 푸시:
    git push -u origin feature/[기능명]

5. 풀 리퀘스트 생성 (팀원 역할)

  1. 깃허브 리포지토리 페이지로 이동
  2. "Pull requests" 탭 클릭
  3. "New pull request" 클릭
  4. base:develop <- compare:feature/[기능명] 선택
  5. "Create pull request" 클릭
  6. 제목과 설명 작성 후 "Create pull request" 클릭

6. 코드 리뷰 (팀원들)

  1. 풀 리퀘스트 페이지의 "Files changed" 탭에서 코드 검토
  2. 코멘트가 필요한 라인에 커서를 올리고 파란색 "+" 버튼 클릭하여 코멘트 작성
  3. 전체 리뷰를 마치면 "Review changes" 클릭
  4. "Approve", "Comment", 또는 "Request changes" 선택 후 "Submit review" 클릭

7. 풀 리퀘스트 병합 (팀장 또는 승인된 팀원)

  1. 모든 리뷰가 승인되면 "Merge pull request" 클릭
  2. "Confirm merge" 클릭
  3. 필요시 "Delete branch" 클릭하여 feature 브랜치 삭제

8. 충돌 해결 (필요시)

충돌이 발생하면 다음 단계를 따릅니다:

  1. 로컬에서 develop 브랜치 최신화:
    git checkout develop git pull origin develop
  2. 충돌이 있는 feature 브랜치로 전환:
    git checkout feature/[기능명]
  3. develop 브랜치 병합:
    git merge develop
  4. 충돌 파일 열어 충돌 부분 수정
  5. 수정 후 커밋:
    git add . git commit -m "Resolve merge conflicts"
  6. 브랜치 푸시:
    git push origin feature/[기능명]

9. develop에서 master로 병합 (릴리즈 시)

  1. develop 브랜치의 모든 기능이 완성되고 테스트를 마치면 새로운 풀 리퀘스트 생성
  2. base:master <- compare:develop 선택
  3. 코드 리뷰 및 승인 과정 진행
  4. 모든 승인 후 병합

이 과정을 반복하면서 프로젝트를 진행하면, 효과적인 협업과 코드 품질 관리가 가능합니다. 깃허브의 다양한 기능을 활용하여 프로젝트 관리의 효율성을 높일 수 있습니다.

실제로 이 과정을 따라해보면서 경험을 쌓으시기 바랍니다. 처음에는 복잡해 보일 수 있지만, 몇 번 반복하다 보면 자연스럽게 익숙해질 것입니다. 화이팅!