GIT
이슈 기반 Git 브랜치 전략과 협업 흐름 완전 정리
2025. 5. 24. 18:39
728x90

GitHub 이슈 기반 브랜치 전략 및 협업 워크플로우

GitHub의 Issue(이슈)를 중심으로 기능 개발을 진행하면 작업 단위를 명확히 나눌 수 있고, 진행 상황과 책임자 관리가 쉬워집니다. 이 문서에서는 이슈를 기반으로 브랜치를 생성하고 작업한 후, Pull Request(PR)를 통해 병합하는 전 과정을 정리합니다.


1. 이슈 생성 및 분류

기능 단위로 아래 내용을 포함한 이슈를 생성합니다:

  • 제목: ex) [FEAT] 미션 생성 기능 구현
  • 내용: 기능 명세, 관련 문서 링크 등
  • 담당자: 본인 또는 팀원 지정
  • 마일스톤: 배포일정, 스프린트 주기 등
  • 라벨: feature, bug, refactor, urgent 등

이슈 생성 시 각 작업을 추적할 수 있도록 세부 정보를 기입합니다.


2. 브랜치 생성

이슈 기반으로 기능 작업을 시작할 때, 관련 브랜치를 생성합니다. 브랜치 이름은 이슈 번호와 기능을 포함해 명확히 작성합니다.

# main 브랜치 최신화
git checkout main
git pull origin main

# 브랜치 생성 (예: issue-12-create-mission)
git checkout -b issue-12-create-mission

브랜치 이름 컨벤션 예시: issue-[이슈번호]-[기능명]


3. 작업 및 커밋

기능 개발 후, 관련 변경사항을 커밋합니다. 이슈 번호를 커밋 메시지에 명시해 이슈와 연결되도록 합니다.

git add .
git commit -m "feat: 미션 생성 기능 구현 (#12)"

커밋 메시지에 (#이슈번호)를 명시하면 GitHub에서 자동으로 이슈와 연결됩니다.


4. 브랜치 Push 및 PR 생성

git push origin issue-12-create-mission

GitHub에서 Pull Request 생성:

  • base: main
  • compare: issue-12-create-mission

PR 작성 시 포함할 내용:

  • 어떤 기능을 구현했는지 요약
  • 관련 이슈 번호 (Closes #12)
  • 테스트 방법 또는 캡처
  • 리뷰 요청자 지정 (Reviewers)

5. 리뷰 및 병합

리뷰어는 코드를 확인하고 의견을 남깁니다. 리뷰가 승인되면 Merge 또는 Squash and merge 방식으로 병합합니다.

  • 리뷰 요청 시 팀 내 표준을 따라야 합니다.
  • 병합 후 브랜치는 삭제 처리 (Delete branch 클릭)

PR 본문에 Closes #이슈번호를 포함하면 병합 시 해당 이슈가 자동으로 Close됩니다.


6. 병합 후 동기화

팀원들은 병합 이후 main 브랜치를 기준으로 다시 작업 브랜치를 생성하거나 기존 브랜치를 최신화해야 합니다.

# main 최신화
git checkout main
git pull origin main

# (선택) 새 작업 브랜치 생성
git checkout -b issue-13-update-mission

또는 작업 중인 브랜치를 최신 main으로 rebase:

git fetch origin
git rebase origin/main

7. 정리된 전체 흐름 요약

[이슈 생성] → [브랜치 생성] → [작업 & 커밋] → [Push & PR 생성] → [리뷰 & 병합] → [main 동기화]

마무리

이슈 기반 브랜치 전략은 협업의 투명성과 효율성을 높여줍니다. 기능 단위의 명확한 분리, 작업 이력 추적, 리뷰 및 배포 이력 관리가 가능해지므로, 팀 프로젝트에 반드시 도입하는 것이 좋습니다.

728x90
반응형

'GIT' 카테고리의 다른 글

협업을 위한 Git 브랜치 전략과 충돌 해결 완전 가이드  (0) 2025.05.24