본문 바로가기

CS

Git Branch 종류

개발을 하다 보니 내가 개발을 하는 방식과 다른 사람들의 방식은 얼마나 다른지 궁금했다.

나에 경우 개발 인력에 따라서 개발 브런치를 main과 해당 인원들의 이름으로 branch를 따는 형식으로 진행을 했었다.

 

실제 개발 회사에서는 git branch를 5가지의 branch를 만들어서 진행을 한다.

그 들었던 내용과 내가 검색해서 알게된 내용을 적어 본다.

master,hotfix,feature,Develop,Release 

이렇게 총 5개의 branch를 가진다.

- Main,Master Branch

배포(Release) 이력을 관리하기 위해 사용. 즉, 배포 가능한 상태만을 관리한다.
Release 단계의 프로젝트 파일을 master에 담어 기록한다.

 

 

- Develop Branch

기능 개발 하는 브런치 이다. 어떤 기능들을 가지고 있는 확인 할 수 있고, 해당 브런치에 올라온 커밋들은 안정적이고 괜찮다면 main,master 브런치에 merge 된다.

- Feature Branch

Featrue Branch는 Develop branch에 올라가기 전 각자 기능들을 개발 하는 branch 이다.

이 단계에서 개발을 진행 할 때는 다른 branch 들과 합칠 필요가 없고 완성 후에 Develop 과 합치게 된다.

develop branch에서 branch를 새로 파 기능들을 만들면 된다.

 

‘develop’ 브랜치에서 새로운 기능에 대한 feature 브랜치를 분기한다.
새로운 기능에 대한 작업 수행한다.
작업이 끝나면 ‘develop’ 브랜치로 병합(merge)한다.
더 이상 필요하지 않은 feature 브랜치는 삭제한다.
새로운 기능에 대한 ‘feature’ 브랜치를 중앙 원격 저장소에 올린다.(push)

 

- Release branch

Develop Branch에서 기능들을 개발을 하고 버젼을 출시 할 때 사용 한다.

git flow에서 아래와 같은 명령어를 쳐서

git flow release finish~~

안정적으로 배포가 진행이 되면 release branch와 main,master branch는 merge가 된다.

 

- hotfix Branch

hotfix Branch는 출시 이전에 생긴 문제들을 처리하는 Branch이다.

해당 문제를 해결하고 다시 main,master branch와 합쳐 진다. 이때 태그등을 기입하여 구별 할 수 있게 한다.

 

 

 

 

 


출처 : https://gmlwjd9405.github.io/2018/05/11/types-of-git-branch.html

 

[GitHub] Git 브랜치의 종류 및 사용법 (5가지) - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

 

저렇게 관리하는 프로젝트들은 유지보수에 좋다고 생각한다.

개발인력이 많아지면서 관리하는 파일도 많기 때문이다.

다음에 프로젝트를 진행 하게 된다면 저런 형식으로 파일 관리를 진행을 해야 겠다.

 

저렇게 관리된 파일들은 k8s 롤아웃, 혹시 CI,CD 할 수 있는 프로그램을 통해 배포를 진행 한다.

그리고 만든 Branch들을 닫는다. 

'CS' 카테고리의 다른 글

Http와 Https  (1) 2024.09.27
Redis  (0) 2024.01.18
원자성,가시성  (0) 2023.02.02
동기화 , 비동기화  (0) 2023.01.21
싱글톤(Singleton) 패턴이란?  (0) 2023.01.09