처음으로 사용해보는 깃... 익숙하지 않다.. 하나도 모르겠지만.. 극복해보자 !
github 저장소를 잘 활용하기 위해 git branch에 대한 workflow를 정의하는 것을 의미합니다. 즉, 협업 과정에서 프로젝트 관리와 배포의 안정성을 높이기 위해 git branch 전략을 잘 활용할 수 있어야합니다. git branch 전략은 크게 Git Flow 와 Github Flow로 나뉩니다. 여러 개발자가 동시에 작업할 때, 기능 별로 branch를 나누어 작업하도록 한다면 변동 사항이나 이슈를 독립적으로 관리하기에 용이합니다. 개발하고자 하는 서비스 및 프로젝트의 특성에 따라 적절한 브랜치 전략을 택하여 작업하는 것은 매우 중요합니다.
해당 게시물에서는 Git Flow 전략에 대해 알아보겠습니다!
Git Flow 는 크게 master/main branch, develop branch, supporting branch 로 구분됩니다. master/main branch, develop branch 는 개발 프로세스에 있어 항상 유지되며 제품 출시에 관련된 브랜치입니다.
supporting branch 는 다시 feature branch, release branch, hotfix branch 로 구분되어 필요에 따라 생성되고 삭제될 수 있습니다. supporting branch 를 활용하여 병렬적 업무를 진행할 수 있습니다.
각 브랜치의 자세한 특징은 다음과 같습니다.
제품으로 출시될 수 있는 브랜치, 즉 출시 가능한 코드를 모아두는 브랜치입니다.
다음 출시 버전을 개발하는 브랜치이며, 해당 브랜치에서 개발이 완료되면 master/main branch 로 merge 합니다.
기능을 개발을 위한 브랜치 로 develop branch에서 생성하며, 개발이 완료되면 다시 develop branch로 merge 됩니다.
소프트웨어 배포를 준비하는 브랜치 로 develop branch에서 생성하며, 사소한 버그를 배포 전에 수정하기 위해 사용된다. 수정이 완료되어 배포 할 수 있는 상태가 되면, main/master 와 develop branch 에 모두 merge 됩니다.
이미 출시된 버전에서 발생한 버그를 수정하기 위한 브랜치로 master/main branch에서 생성하여 버그를 해결 후, master/main branch 와 develop branch 에 모두 merge 됩니다.
개발 과정을 도식화하면 다음과 같습니다 !
버전 관리에 용이하기 때문에 스마트폰 어플이나 오픈 소스 라이브러리 및 프레임워크 등의 프로젝트에서는 적합하게 사용이 가능하다.
.
.
Git Branch 전략 비교 - Git Flow vs GitHub Flow | heewon.ko