Develop/Git

Branch 이름과 Commit 작성

dawonny 2021. 7. 21. 23:29
728x90
반응형

협업을 하다보니 branch 이름을 뭐라고 지어야 할지 고민하거나 commit 메세지를 뭐라고 적어야 하는지 고민하는 때가 있다. 그래서 정리할 겸 작성하는 포스트


Branch naming

 

브랜치 이름을 정할 땐 목적에 맞는 naming이 필요하다

기본적으로 branch 는 각 이슈마다 생성해서 작업을 한다.

우리 프로젝트를 예로 들면

 feat/persona-001

이런식이다

 

앞에 붙은건 branch 단위라고 생각하면 되는데 멤버가 작성해준 guide 를 가져와봤다.

 

Branch 단위

  • master : 최종 단위 브랜치. Release 완료 시 master에 최종적으로 병합해주세요.
  • dev : 개발 브랜치. feature 관련 브랜치에서 작업이 완료되면 해당 브랜치로 병합 부탁드립니다.
  • feat: 기능 추가 및 구현을 위한 브랜치. dev 브랜치로부터 분기되는 브랜치입니다.
    • 프로젝트 진행 중 더 이상 필요하지 않은 feature branch는 삭제 부탁드립니다.
  • release : 추가된 기능 병합 및 테스트를 위한 브랜치.
    • dev 브랜치에서 배포 할 수 있는 수준의 기능이 모이면, 또는 정해진 배포 일정이 되면 Release 브랜치로 분기해 주시기 바랍니다.
    • 배포 사이클의 시작이 되는 브랜치이기 때문에, 배포 버전명을 꼭 명시해 주세요.
  • hotfix: 배포한 버전에 긴급한 수정을 진행해야 하는 경우, master 브랜치에서 분기하는 브랜치입니다.
    • 문제가 되는 부분의 수정이 완료되면, master 브랜치에 다시 병합하여 배포를 진행해주세요.
    • 해당 브랜치에서의 변경 사항은 꼭 dev 브랜치에도 병합 부탁드립니다.

Branch 형식은 다음으로 맞춰주세요.**[Branch 종류]-[Branch 이름]**띄어쓰기가 포함 될 시에는 하이픈(-)으로 이어주시고, 소문자 사용은 지양해주세요.


commit 작성

 

commit 작성의 예시를 우리의 프로젝트로 들면

feat: persona 질문 양식 변경

fix: persona 질문 응답값 분석 오류 수정

이런식이 되겠다.

 

pm 님이 guide 써두신거를 가져와보면 다음과 같다(pm님 최고)

 

Commit 단위

  • feat : 기능 추가
  • chore : gradle 수정, package.json 같이 프로젝트 환경에 있어서의 변경점
  • fix : 버그 픽스
  • docs : 문서 관련 변경점
  • release : release 버전

merge 완료 시 commit 형식은 다음으로 맞춰주세요. [Commit 종류] : [Commit 내용] [부수적인 내용(ex. 이슈 #1231)]

728x90
반응형