티스토리 뷰
반응형
✅ Git 사용 시 브랜치 전략(Git Flow, GitHub Flow 등)에 대해 설명하라
Git 브랜치 전략은 협업 효율성과 코드 품질에 직결됩니다.
전략 없이 개발하면, 머지 충돌은 기본이고 배포 시점에 난리가 나는 건 시간문제죠.
이번 글에서는 대표적인 브랜치 전략과
실무에서 적용한 경험, 그리고 문제 해결 사례까지 정리해볼게요.
📌 1. 브랜치 전략이 필요한 이유
- 여러 개발자가 동시에 작업해도 코드 안정성 유지
- 기능 개발과 배포를 병행 가능
- 긴급 수정(Hotfix)을 신속히 처리
- 코드 리뷰 및 테스트 프로세스 표준화
📌 2. 대표적인 브랜치 전략
✅ 1) Git Flow
main
└─ develop
├─ feature/*
├─ release/*
└─ hotfix/*
- main: 배포된 안정 버전
- develop: 개발 통합 브랜치
- feature/: 기능 단위 개발
- release/: 배포 전 테스트 브랜치
- hotfix/: 긴급 버그 수정
📌 장점: 안정적인 릴리스 관리
❌ 단점: 브랜치가 많아 초기 진입장벽 높음
✅ 2) GitHub Flow
반응형
main
└─ feature/*
- main: 항상 배포 가능한 상태 유지
- feature/: 기능 개발 후 PR(Merge Request)
📌 장점: 단순하고 빠른 개발
❌ 단점: 대규모 프로젝트에는 QA 과정 부족
✅ 3) GitLab Flow
- Git Flow + GitHub Flow 혼합
- 환경별 브랜치(prod, staging) 운영
- CI/CD와 연계에 유리
📌 3. 실무 적용 사례
상황
- NestJS + React 프로젝트
- 팀원 6명, 2주 단위 스프린트
- 배포 환경: staging / production
전략
- main: production 반영
- develop: staging 반영
- feature/: 기능별 브랜치 (ex. feature/login)
- Pull Request 시 코드 리뷰 필수
- Hotfix 발생 시 main에서 브랜치 분기 → main + develop 동시 병합
📉 결과:
- 배포 중 충돌 건수 70% 감소
- QA 환경과 운영 환경 분리가 명확해져 버그 회피율 증가
📌 4. 브랜치 네이밍 컨벤션
- feature/기능명
- bugfix/버그설명
- hotfix/이슈번호
- release/버전
📌 5. 면접에서 이렇게 말하세요
팀 규모나 배포 주기에 따라 브랜치 전략을 달리 적용합니다.
소규모/빠른 배포는 GitHub Flow, 안정성이 중요한 프로젝트는 Git Flow를 사용했고,
실무에서는 staging과 production을 분리한 GitLab Flow 형태를 적용했습니다.
이를 통해 배포 충돌을 최소화하고 QA 효율성을 높였습니다.
Git,브랜치전략,GitFlow,GitHubFlow,GitLabFlow,코드리뷰,협업,배포전략,형상관리,면접질문
'AI + Career' 카테고리의 다른 글
| ✅ 좋은 Commit 메시지를 작성하기 위한 방법과 이유는? (0) | 2025.08.12 |
|---|---|
| ✅ 코드 리뷰를 할 때 중점적으로 보는 요소는 무엇인가? (0) | 2025.08.11 |
| ✅ 백엔드 시스템의 확장성(Scalability)을 높이기 위한 설계 방식은? (0) | 2025.08.06 |
| ✅ 백엔드 시스템에서 부하 분산(Load Balancing)의 개념과 방식은? (0) | 2025.07.16 |
| ✅ 캐싱(Cache) 전략(Redis 등)을 설명하고 적용 사례는? (0) | 2025.07.15 |
※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Next.js
- 개발블로그
- Prisma
- 생성형AI
- REACT
- fastapi
- JWT
- LangChain
- 딥러닝
- Docker
- DevOps
- PostgreSQL
- kotlin
- ai철학
- Redis
- 웹개발
- CI/CD
- SEO최적화
- 쿠버네티스
- seo 최적화 10개
- node.js
- nextJS
- flax
- Python
- llm
- Express
- JAX
- 백엔드개발
- NestJS
- rag
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
글 보관함
반응형

