Git Flow와 효과적인 커밋 메시지 작성하기

호씨·2024년 12월 13일
0

Git Flow와 효과적인 커밋 메시지 작성하기

금주 새로운 팀 프로젝트를 시작하면서 Git Flow 전략과 커밋 메시지 작성법을 정리해봤다. 또한 이번에 어떻게 할것인지 팀원들과 정리한 내용을 적었다.

📌 Git Flow란?

Git Flow는 효율적인 브랜치 관리를 위한 전략이다. 프로젝트의 규모가 커지고 여러 명이 협업할 때 특히 유용하다.

주요 브랜치 구조

  • main: 제품 출시용 브랜치
  • develop: 개발 브랜치
  • feature/*: 기능 개발 브랜치

실제 프로젝트에 적용시킬 Git Flow 예시

gitGraph
    commit
    branch develop
    checkout develop
    commit id: "초기 개발 환경 설정"
    
    %% LoginView 개발
    branch feature/login
    checkout feature/login
    commit id: "로그인 UI 구현"
    commit id: "로그인 기능 구현"
    checkout develop
    merge feature/login
    
    %% MainView 개발
    branch feature/main
    checkout feature/main
    commit id: "메인 화면 UI 구현"
    commit id: "영화 목록 기능 구현"
    checkout develop
    merge feature/main
    
    %% PayView 개발
    branch feature/payment
    checkout feature/payment
    commit id: "결제 화면 UI 구현"
    commit id: "결제 기능 구현"
    checkout develop
    merge feature/payment
    
    %% SearchView 개발
    branch feature/search
    checkout feature/search
    commit id: "검색 화면 UI 구현"
    commit id: "검색 기능 구현"
    checkout develop
    merge feature/search
    
    %% DetailView 개발
    branch feature/detail
    checkout feature/detail
    commit id: "상세 화면 UI 구현"
    commit id: "상세 정보 기능 구현"
    checkout develop
    merge feature/detail
    
    %% 개발 완료 후 main 브랜치로 병합
    checkout main
    merge develop tag: "v1.0.0"

💡 효과적인 커밋 메시지 작성법

1. 기본 구조

type: subject

body

footer

2. 커밋 타입 정의

Type설명
feat새로운 기능 추가
fix버그 수정
docs문서 수정
style코드 포맷팅
refactor코드 리팩토링
test테스트 코드 관련
chore빌드, 패키지 매니저 수정
cmt주석 수정

3. 제목 작성 규칙

  • 최대 50글자로 제한
  • 특수문자 사용하지 않기
  • 영문의 경우 첫 글자는 대문자로
  • 현재형 시제 사용하기
    • ⭕️ Add
    • Added

4. 본문 작성 규칙

  • 한 줄당 72자 이내로 작성
  • 변경한 내용과 이유를 상세히 설명
  • 어떻게(How)보다는 무엇을/왜(What/Why) 변경했는지 설명

5. 꼬리말 규칙

이슈 트래커 ID를 명시할 때 사용한다.

  • Fixes: 이슈 수정중
  • Resolves: 이슈 해결됨
  • Ref: 참고할 이슈
  • Related to: 관련 이슈

예시:

Fixes: #45
Related to: #34, #23

🎯 실전 커밋 메시지 예시

Feat: "회원 가입 기능 구현"

SMS, 이메일 중복확인 API 개발
- 전화번호 인증 기능 추가
- 이메일 중복 체크 로직 구현
- 회원가입 폼 유효성 검사 추가

Resolves: #123
Ref: #456
Related to: #48, #45

🚀 실무에서 바로 적용하기

1. 브랜치 생성

git checkout -b feature/login

2. 작업 후 커밋

git add .
git commit

3. 개발 완료 후 머지 요청

  1. 작업한 브랜치 푸시
  2. Pull Request 생성
  3. 코드 리뷰 진행
  4. 승인 후 머지

정리하자면...

금일 한 일은 Git Flow와 커밋 메시지 컨벤션을 정했다.

  • 프로젝트의 히스토리를 명확하게 파악 가능
  • 팀원 간의 효율적인 코드 리뷰
  • 자동화된 버전 관리와 릴리즈 노트 생성 용이

실제로 적용해보니 처음에는 귀찮을 수 있지만, 프로젝트가 커질수록 이런 규칙들이 큰 도움이 된다는 걸 느꼈다.

처음 시작하는 사람들은 위 내용을 참고해서 하나씩 적용해보면 좋을 것 같다. 다음에는 실제 프로젝트에서 겪은 Git 관련 문제 해결 경험을 공유해볼 예정이다.

profile
이것저것 많이 해보고싶은 사람

0개의 댓글