GitHub 협업 가이드
목차
- 협업 방식 비교
- 커밋 컨벤션
- Pull Request 가이드
협업 방식 비교
일반 Repository 협업
특징
- 단순한 권한 구조
- 개인이 소유권을 가짐
- 소규모 프로젝트나 간단한 협업에 적합
- 저장소별로 개별적으로 collaborator 초대/관리
추천 사용 케이스
- 개인 프로젝트
- 소규모 팀 프로젝트
- 간단한 협업
Organization
특징
- 더 세분화된 권한 관리
- Teams 생성 가능
- 팀별로 다른 접근 권한 설정
- Repository별로 세부적인 권한 조정 가능
- 공동 소유 구조
- 추가 기능
- 팀별 discussions
- Organization-wide 프로젝트 보드
- Audit log (보안 로그 확인)
- 결제 및 청구 중앙 관리
- 대규모 프로젝트나 회사/팀 단위 작업에 적합
추천 사용 케이스
- 회사/기업 프로젝트
- 대규모 오픈소스 프로젝트
- 여러 팀이 함께 작업하는 프로젝트
- 체계적인 권한 관리가 필요한 경우
커밋 컨벤션
기본 구조
type: subject
body
footer
커밋 타입(Type)
feat
: 새로운 기능 추가
fix
: 버그 수정
docs
: 문서 수정
style
: 코드 포맷팅, 세미콜론 누락 등 (코드 변경 X)
refactor
: 코드 리팩토링
test
: 테스트 코드 추가/수정
chore
: 빌드 작업, 패키지 매니저 수정 등
작성 규칙
- 제목은 50자 이내로
- 제목 끝에 마침표(.) 쓰지 않기
- 제목은 명령문으로 (과거형 X)
- 본문은 72자마다 줄바꿈
- 본문은 "어떻게"가 아닌 "무엇을", "왜"를 설명
예시
feat(user): 로그인 기능 추가
feat: 회원가입 이메일 인증 추가
사용자 이메일 인증 기능을 통해 스팸 계정 생성 방지
- 이메일 인증 토큰 24시간 제한
- 미인증 계정 기능 제한
Resolves:
See also:
자주 사용되는 키워드
- Fixes: #이슈번호
- Resolves: #이슈번호
- Ref: #이슈번호
- Related to: #이슈번호
Pull Request 가이드
PR의 개념
- Pull Request는 코드 변경사항을 다른 브랜치나 fork에 병합하기 전에 리뷰를 요청하는 메커니즘
- 코드 리뷰와 토론을 위한 공간을 제공
- 변경사항을 merge하기 전에 팀원들과 협업하는 방식
PR의 주요 용도
- 코드 리뷰
- 버그 발견
- 코드 품질 향상
- 팀원간 지식 공유
- 코드 변경사항 추적
PR 생성 과정
git checkout -b feature/login
git add .
git commit -m "feat: 로그인 기능 구현"
git push origin feature/login
좋은 PR을 위한 팁
- 명확한 제목과 설명 작성
- 변경사항을 잘 설명하는 스크린샷 첨부
- 관련된 이슈 링크
- 테스트 결과 포함
- 적절한 리뷰어 지정
PR 리뷰 과정
- 코드 변경사항 확인
- 코멘트 작성
- 승인(Approve) 또는 수정 요청(Request changes)
- 필요시 토론
- 최종 merge 또는 close
PR 템플릿 예시
## 변경 사항
- 로그인 기능 구현
- 이메일 인증 추가
- 비밀번호 유효성 검사 추가
## 테스트 항목
- [ ] 이메일 형식 검증
- [ ] 비밀번호 정책 준수 확인
- [ ] 로그인 성공/실패 케이스
## 스크린샷
[스크린샷 첨부]
## 관련 이슈
- #123 로그인 기능 구현
## 기타 참고사항
- 추가 설명이 필요한 부분