728x90
반응형
오늘 git 관련 특강이 있었습니다.
그중에서 Github Flow와 Git Flow에 대해 정리해보았습니다.
1. Git Flow (전통적인 대규모 프로젝트 방식)
5가지 종류의 브랜치를 사용하여 배포 주기가 길고 복잡한 프로젝트에 적합한 전략입니다.
- 주요 브랜치:
- main (master): 제품으로 출시되는 최종 단계.
- develop: 다음 출시 버전을 개발하는 통합 브랜치.
- feature: 기능을 개발하는 브랜치 (완료 후 develop에 병합).
- release: 배포 전 최종 버그 수정을 위한 준비 브랜치.
- hotfix: 배포된 버전(main)에서 긴급한 버그를 수정할 때 사용.
- 특징: 브랜치가 많아 관리가 복잡하지만, 릴리즈 버전 관리가 명확합니다.
2. GitHub Flow (단순하고 빠른 배포 방식)
수시로 배포가 일어나는 웹 서비스나 클라우드 기반 프로젝트에 최적화된 단순한 전략입니다.
- 주요 원칙:
- main 브랜치는 언제든 배포 가능한 상태여야 함.
- 새로운 작업은 main에서 파생된 별도 브랜치에서 진행 (이름은 의도를 명확히).
- 로컬에 커밋하고 수시로 원격(GitHub)에 push 함.
- 피드백이나 도움이 필요할 때, 혹은 병합 준비가 되면 Pull Request(PR)를 생성.
- 리뷰 후 승인되면 main에 병합하고 즉시 배포.
- 특징: 구조가 단순하며, PR을 통한 코드 리뷰와 CI/CD(지속적 통합/배포)가 핵심입니다.
💡 한눈에 비교하기
| 구분 | Git Flow | GitHub Flow |
| 복잡도 | 높음 (브랜치 5종류) | 낮음 (main + topic 브랜치) |
| 배포 주기 | 정기적 (버전 단위) | 수시로 (기능 단위) |
| 적합한 곳 | 패키지 소프트웨어, 모바일 앱 | 웹 서비스, SaaS, 스타트업 |
| 핵심 | 배포 버전의 안정성 | 빠른 피드백과 지속적 배포 |
반응형
'Study' 카테고리의 다른 글
| [내일배움캠프 TIL] 24일차 - CI, Github Actions로 CI 파이프라인 구축하기 (0) | 2026.05.08 |
|---|---|
| [내일배움캠프 TIL] 23일차 - Docker & Docker Compose (0) | 2026.05.07 |
| [내일배움캠프 TIL] 21일차 - MSA 구조 도식화 (0) | 2026.05.04 |
| [내일배움캠프 TIL] 20일차 - 1차 프로젝트 마무리, 회고 (0) | 2026.05.01 |
| [내일배움캠프 TIL] 18일차 - aws ec2 배포 및 이슈 (0) | 2026.04.29 |