브랜치?
독립적인 하나의 작업 환경으로 각각의 브랜치는 다른 브랜치의 영향을 받지 않아, 여러 작업을 동시에 진행 할 수 있다.
브랜치 분리 이유?
여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효율적으로 관리하기 위해 역할을 나눠 소스를 관리함으로 각 개발자들의 혼란을 최소화 할 수 있기 때문이다.
브랜치 전략?
브랜치를 분리해야 할 필요성을 알고 브랜치를 무분별하게 분리하면 오히려 역효과가 발생할 수 있다. 이에 따라 적합한 전략을 세워 분리하고자 하는 브랜치를 효율적으로 관리하기 위해서 사용한다.
대표적으로 사용하는 전략?
내가 사용하고 있는 전략
전략 흐름
dev, hot > develop > develop_release > release
develop_release 존재 이유
원래 develop_release 브랜치 없이 develop > release 형태로 사용했으나 개발서버에는 반영이 되어야 하나 운영서버에는 반영이 되지 않는 두 개의 버전 형태로 운영되어야 하는 케이스가 있었음.
이에 따라 develop 브랜치는 모든 작업에 대한 브랜치를 병합하고 develop_release 브랜치에는 운영 서버에 반영될 브랜치만 병합하는 형태로 운영함.
추후 분리 작업이 완료되면 develop > develop_release 로 병합해 하나의 버전으로 통합
Git graph
release 브랜치에서 가지를 뻗어 develop으로 작업을 병합 후 추후 develop_release, release 순으로 병합하는 형태
설명이 맛있네요