금주 새로운 팀 프로젝트를 시작하면서 Git Flow 전략과 커밋 메시지 작성법을 정리해봤다. 또한 이번에 어떻게 할것인지 팀원들과 정리한 내용을 적었다.
Git Flow는 효율적인 브랜치 관리를 위한 전략이다. 프로젝트의 규모가 커지고 여러 명이 협업할 때 특히 유용하다.
main
: 제품 출시용 브랜치develop
: 개발 브랜치feature/*
: 기능 개발 브랜치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"
type: subject
body
footer
Type | 설명 |
---|---|
feat | 새로운 기능 추가 |
fix | 버그 수정 |
docs | 문서 수정 |
style | 코드 포맷팅 |
refactor | 코드 리팩토링 |
test | 테스트 코드 관련 |
chore | 빌드, 패키지 매니저 수정 |
cmt | 주석 수정 |
Add
Added
이슈 트래커 ID를 명시할 때 사용한다.
Fixes
: 이슈 수정중Resolves
: 이슈 해결됨Ref
: 참고할 이슈Related to
: 관련 이슈예시:
Fixes: #45
Related to: #34, #23
Feat: "회원 가입 기능 구현"
SMS, 이메일 중복확인 API 개발
- 전화번호 인증 기능 추가
- 이메일 중복 체크 로직 구현
- 회원가입 폼 유효성 검사 추가
Resolves: #123
Ref: #456
Related to: #48, #45
git checkout -b feature/login
git add .
git commit
금일 한 일은 Git Flow와 커밋 메시지 컨벤션을 정했다.
실제로 적용해보니 처음에는 귀찮을 수 있지만, 프로젝트가 커질수록 이런 규칙들이 큰 도움이 된다는 걸 느꼈다.
처음 시작하는 사람들은 위 내용을 참고해서 하나씩 적용해보면 좋을 것 같다. 다음에는 실제 프로젝트에서 겪은 Git 관련 문제 해결 경험을 공유해볼 예정이다.