Conventions - EnvEduPNU/EnvEdu_Server GitHub Wiki

Branches

  • main : 실제로 작동하고 있는 버전, CI/CD 대상 브랜치
  • develop : 개발 단계에서 각 feature 브랜치가 합쳐지는 브랜치, 각 feature에서 날린 PR은 최소 한 명의 리뷰 후 merge 될 수 있음
  • feature : 각 기능 별로 생성하는 브랜치, develop에 merge 후 삭제, ex. feature/#{issue number}/{feature name}/{collaborator name}

Flow

  • 각 collaborator는 fork로 분기해 작업
  • 매주 금요일 develop 브랜치를 main 브랜치로 merge, 1주일 동안 자신이 진행할 개발 일정 backlog 작성 및 각 backlog 이슈에 해당하는 브랜치 생성
  • 매일 오후 9시에 collaborator는 feature 브랜치에서 develop 브랜치로 전송한 PR을 리뷰하고 승인하는 scrum 진행
  • develop 브랜치가 업데이트 되면 fetch-rebase 이용해 local 저장소 업데이트
  • 참고 : 참고

Commit

  • ex. #{issue number}-{type}/{commit message}
  • type
    • feat : 기능을 추가한 경우
    • style : 변수 이름 변경, 줄 간격 변경 등의 코드의 스타일을 변경하는 경우
    • fix : 버그를 수정한 경우
    • refactor : 리팩토링을 진행한 경우
    • test : 테스트 코드 작성 및 테스트 코드를 수정한 경우
    • rm : 파일을 제거한 경우
    • mv : 파일의 위치를 변경한 경우
    • env : 프로젝트 환경 설정과 관련된 경우
    • doc : 문서와 관련된 변경
    • add : 코드 또는 파일을 추가하는 경우

PR

  • feature -> develop
    • title: feature 브랜치 이름
    • content:
      • 구현 및 수정한 기능 요약
      • 작업하며 발생했던 문제
      • 문제의 원인과 해결 방법
  • develop -> main
    • title: 현재 날짜(yyyy/mm/dd)
    • content: 추가 및 수정한 기능 - {담당자 username}