본문 바로가기

Git

Git main, develop, feature, release, hotfix

https://nulab.com/ko/learn/software-development/git-tutorial/

 

Git때 잘 들어둘걸

 

시험문제에 대한 모범답안 : 

 

main 브랜치는 항상 배포 가능한 상태를 유지하는 주요 브랜치입니다. 이 브랜치는 안정적이고 검증된 코드만을 포함하며, 실제 서비스에 배포되는 코드의 기준이 됩니다.

develop 브랜치는 개발 단계에서 사용되는 브랜치로, 새로운 기능이나 버그 수정이 통합되는 곳입니다. 이 브랜치는 다음 릴리스를 위한 개발 작업이 진행되는 공간으로, feature 브랜치들이 처음으로 병합되는 지점입니다.

feature 브랜치는 새로운 기능을 개발할 때 사용하는 브랜치입니다. develop 브랜치로부터 분기되어 독립적으로 새로운 기능을 개발하고, 개발이 완료되면 다시 develop 브랜치로 병합됩니다. 예를 들어, 'feature/login'이나 'feature/payment' 같은 이름으로 브랜치를 생성하여 사용합니다.

release 브랜치는 배포 준비가 완료된 기능을 안정화하기 위해 사용하는 브랜치입니다. develop 브랜치에서 분기되어 생성되며, 여기서는 버그 수정과 배포 준비를 위한 미세 조정만 수행됩니다. 테스트가 완료되면 main 브랜치와 develop 브랜치 모두에 병합됩니다. 예를 들어, 'release/v1.0'과 같은 이름으로 사용됩니다.

hotfix 브랜치는 배포된 버전에서 발생한 긴급한 버그를 수정할 때 사용됩니다. main 브랜치에서 직접 분기하여 생성하며, 버그 수정이 완료되면 main 브랜치와 develop 브랜치 모두에 병합됩니다. 예를 들어, 서비스 운영 중 심각한 보안 취약점이 발견되었을 때 'hotfix/security-patch' 같은 이름으로 브랜치를 만들어 신속하게 대응할 수 있습니다.

이러한 브랜치 전략을 통해 안정적인 개발과 배포가 가능해지며, 팀 구성원들이 효율적으로 협업할 수 있습니다. 각 브랜치는 명확한 목적과 역할을 가지고 있어 체계적인 개발 프로세스를 구축할 수 있게 해줍니다.