깃허브를 쓰면서 새로 안것들

호씨·2024년 11월 22일
1

GitHub 협업 가이드

목차

  1. 협업 방식 비교
  2. 커밋 컨벤션
  3. Pull Request 가이드

협업 방식 비교

일반 Repository 협업

특징

  • 단순한 권한 구조
    • Read
    • Write
    • Admin
  • 개인이 소유권을 가짐
  • 소규모 프로젝트나 간단한 협업에 적합
  • 저장소별로 개별적으로 collaborator 초대/관리

추천 사용 케이스

  • 개인 프로젝트
  • 소규모 팀 프로젝트
  • 간단한 협업

Organization

특징

  • 더 세분화된 권한 관리
    • Teams 생성 가능
    • 팀별로 다른 접근 권한 설정
    • Repository별로 세부적인 권한 조정 가능
  • 공동 소유 구조
  • 추가 기능
    • 팀별 discussions
    • Organization-wide 프로젝트 보드
    • Audit log (보안 로그 확인)
    • 결제 및 청구 중앙 관리
  • 대규모 프로젝트나 회사/팀 단위 작업에 적합

추천 사용 케이스

  • 회사/기업 프로젝트
  • 대규모 오픈소스 프로젝트
  • 여러 팀이 함께 작업하는 프로젝트
  • 체계적인 권한 관리가 필요한 경우

커밋 컨벤션

기본 구조

type: subject

body

footer

커밋 타입(Type)

  • feat: 새로운 기능 추가
  • fix: 버그 수정
  • docs: 문서 수정
  • style: 코드 포맷팅, 세미콜론 누락 등 (코드 변경 X)
  • refactor: 코드 리팩토링
  • test: 테스트 코드 추가/수정
  • chore: 빌드 작업, 패키지 매니저 수정 등

작성 규칙

  1. 제목은 50자 이내로
  2. 제목 끝에 마침표(.) 쓰지 않기
  3. 제목은 명령문으로 (과거형 X)
  4. 본문은 72자마다 줄바꿈
  5. 본문은 "어떻게"가 아닌 "무엇을", "왜"를 설명

예시

# 기본 형식
feat(user): 로그인 기능 추가

# 본문이 있는 경우
feat: 회원가입 이메일 인증 추가

사용자 이메일 인증 기능을 통해 스팸 계정 생성 방지
- 이메일 인증 토큰 24시간 제한
- 미인증 계정 기능 제한

Resolves: #123
See also: #456, #789

자주 사용되는 키워드

  • Fixes: #이슈번호
  • Resolves: #이슈번호
  • Ref: #이슈번호
  • Related to: #이슈번호

Pull Request 가이드

PR의 개념

  • Pull Request는 코드 변경사항을 다른 브랜치나 fork에 병합하기 전에 리뷰를 요청하는 메커니즘
  • 코드 리뷰와 토론을 위한 공간을 제공
  • 변경사항을 merge하기 전에 팀원들과 협업하는 방식

PR의 주요 용도

  • 코드 리뷰
  • 버그 발견
  • 코드 품질 향상
  • 팀원간 지식 공유
  • 코드 변경사항 추적

PR 생성 과정

# 1. 새로운 브랜치 생성
git checkout -b feature/login

# 2. 코드 변경 및 커밋
git add .
git commit -m "feat: 로그인 기능 구현"

# 3. 원격 저장소에 push
git push origin feature/login

# 4. GitHub에서 PR 생성
# - base branch(주로 main/master)와 compare branch(feature/login) 선택
# - PR 제목과 내용 작성
# - 리뷰어 지정

좋은 PR을 위한 팁

  • 명확한 제목과 설명 작성
  • 변경사항을 잘 설명하는 스크린샷 첨부
  • 관련된 이슈 링크
  • 테스트 결과 포함
  • 적절한 리뷰어 지정

PR 리뷰 과정

  1. 코드 변경사항 확인
  2. 코멘트 작성
  3. 승인(Approve) 또는 수정 요청(Request changes)
  4. 필요시 토론
  5. 최종 merge 또는 close

PR 템플릿 예시

## 변경 사항
- 로그인 기능 구현
- 이메일 인증 추가
- 비밀번호 유효성 검사 추가

## 테스트 항목
- [ ] 이메일 형식 검증
- [ ] 비밀번호 정책 준수 확인
- [ ] 로그인 성공/실패 케이스

## 스크린샷
[스크린샷 첨부]

## 관련 이슈
- #123 로그인 기능 구현

## 기타 참고사항
- 추가 설명이 필요한 부분
profile
이것저것 많이 해보고싶은 사람

0개의 댓글

관련 채용 정보