Skip to content

규칙 & 컨벤션

5win edited this page Sep 20, 2024 · 2 revisions

1. 규칙 및 주의할 점

  1. 브랜치 분기 시, 분기 지점 잘 확인하고 분기하기
    1. ex) weekly에서 feature#1 분기 시, 현재 브랜치가 weekly인지 확인
  2. git reset 금지
    1. 잘못 커밋한 경우는 최대한 git revert 사용해서 수정
    2. 만약 git reset이 필요하다고 생각되면 팀과 상의 후 진행하기
  3. PR 시, 대상 브랜치 잘 확인하기
  4. git 이슈 생성 시, 이슈 템플릿 사용해서 작성하기

2. Commit 컨벤션

타입 설명
feat 새로운 기능 추가
fix 버그 수정
refact 코드 리팩토링
test 테스트 코드 관련 작업
init 초기화, 초기 작업
revert 기존 커밋 revert 할 경우
docs README.md, 주석 등 문서 관련 작업
rename 파일명, 패키지명 수정 및 이동 작업만을 수행한 경우
remove 파일 또는 패키지 삭제 작업만을 수행한 경우
style 인덴트, 코딩 스타일 등의 스타일 관련 작업
design XML 등 UI 디자인 추가 및 수정 작업
chore 그 외

예시

[#이슈번호] <type>: <subject>
<blank line>
<body>

--------------------------
ex)
[#13] feat: 유저 로그인 기능 추가

- 유저의 정보를 받아 로그인하고 토큰을 반환하는 기능 추가 
  • 너무 크지 않게 기능 단위로 커밋할 것
  • 커밋 타입은 commit 컨벤션에 맞춰서 작성
  • 커밋 메시지의 각 라인은 최대 100자
  • type, subject의 첫 글자는 소문자로 작성
  • subject 끝에 마침표(.)를 적지 않음
  • body 부분은 가능한 자세히 작성

3. Issue

  • 어떤 기능을 개발할지 명시
  • Title
    • 새 기능 구현 : feat
    • 리팩토링 : refact
    • 수정 : fix
    • 테스트 : test
    • 인프라 & CI/CD : infra
    • 초기 설정 : init
    • 그 외 : chore
  • description
    • task list를 사용해서 subtask 명시
    • 구현이 완료되면 체크박스에 체크할 것
  • Assignees, Labels, Projects 지정할 것

4. PR

  • 이슈 해결 후, weekly 브랜치로 PR
  • admin은 주차마다 weekly 브랜치를 develop 브랜치로 PR & 1차 conflict 해결
  • Title
    • 새 기능 구현 : feat
    • 리팩토링 : refact
    • 수정 : fix
    • 테스트 : test
    • 인프라 & CI/CD : infra
    • 배포 : deploy
    • 초기 설정 : init
    • 그 외 : chore
  • resolved 키워드를 사용해 해결한 이슈 닫기
    • ex) resolved #12
  • merge 방법은 rebase and merge 사용

브랜치 네이밍

  • 작업 하기 전, 이슈 생성할 것
  • 생성한 이슈 번호를 바탕으로 weekly브랜치에서 분기
  • 브랜치 네이밍
    • 새 기능 구현 : feature/#이슈번호
    • 리팩토링 : refact/#이슈번호
    • 수정 : fix/#이슈번호
    • 테스트 : test/#이슈번호
    • 인프라 & CI/CD : infra/#이슈번호
    • 초기 설정 : init/#이슈번호
    • 그 외 : chore/#이슈번호
Clone this wiki locally