git에 브렌치를 다루는 전략은 git branch전략이라고 한다 대표적인 전략 3가지가 있다
- git flow
- github flow
- gitlab flow
간단하게 3가지에 대해 정리해보겠다
1. git flow
git flow전략은 주로 중대한 업데이트를 다룰 때 유용하며, 프로젝트의 안정성을 유지하고 동시에 새로운 기능을 효과적으로 통합 할 수 있도록 해주며 주요 브런치는 master(main)와 develop으로 이루어져 있고 이외에 주요 브런치를 돕는 지원 브랜치가 있다
- master(main)
프로덕션 환경에서 안정적으로 배포될 수 있는 코드를 포함하며 직접적인 커밋은 거의 없고 대부분 develop브런치 코드를 pull하는 방식으로 운영한다
- develop
개발중인 코드들을 유지하고 다음 릴리즈를 위한 기능들을 포함하며 특정 기능이나 이슈등을 처리하는데 필요한 변경사항들이 개발되어집니다
- feature
새로운 기능들을 개발하기 위해 사용되며 develop브런치에서 분기되며 개발이 완료되면 다시 develop브런치에 병합된다
- release
새로운 릴리즈를 준비하기 위한 브런치이며 develop브런치에서 분기되며 테스트가 완료 된 후 develop과 master(main)브런치에 통합된다
- hotfix
프로덕션 환경에서 발생한 긴급한 버그를 수정하기 위한 브런치이며 master(main)에서 분기되며 작업완료 후 master(main)과 develop에 병합된다
2. github flow
github에서 사용되는 비교적 간단하고 빠른 브런치 전략으로 지속적인 배포에 초점이 맞춰져 있다. 팀원에 이런부분에서 미숙한 팀원이 있다면 권장되는 flow다
- master(main)
github flow에서도 사용되며 똑같이 항상 배포 가능한 상태를 유지한다
- feature
새로운 기능을 개발하기 위한 브런치이며 master(main)에서 분기되고 작업이 완료되면 master(main)으로 병합된다
- pull request
기능 개발이 완료되면 해당 브런치를 기반으로 pull request를 생성해서 코드 리뷰를 받고 승인되면 master(main)브런치에 병합된다
- deployment
master(main)브런치에 변경사항이 병합되면 자동으로 배포된다 여기서 배포는 자동화되어서 지속적으로 이루어 진다
3. gitlab flow
gitlab flow는 github flow와 같으며 사용하는 브런치 명만 다를 뿐이다 github에 pull request가 여기선 merge. request고 production은 여기서delpoyment이다 사용법은 github flow와 일치한다
'개발지식 > 정보' 카테고리의 다른 글
| HTTP 메소드란 (0) | 2024.01.26 |
|---|---|
| [Git] git branch merge방법 (0) | 2024.01.12 |
| [Git] 양질의 commit 남기기 (0) | 2024.01.09 |
| SSR(서버 사이드 렌더링)과 CSR(클라이언트 사이드 렌더링)+SSG (0) | 2023.03.22 |
| 대표적인 소프트웨어 개발 방법론 Agile(에자일)과 Waterfall(워터풀) (0) | 2023.02.22 |