ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git Flow 전략 - 브랜치 이해
    Dev/Git 2023. 3. 23. 02:52
    반응형

     

     

     

     

     

    Git Flow

    일반적으로 가장 많이 사용하는 git branch 관리 전략.

     

    git flow를 구성하는 브랜치 타입들을 먼저 살펴보자.

     

    1. Master(main) 브랜치

     

    실제로 사용자들에게 서비스가 되고 있는 코드를 담고 있는 브랜치.

     

    검증이 완료되고, 빌드 에러 등이 없는 상태 코드가 들어있어야 한다.

     

    일반적으로 오직 PR과 merge를 통해서만 코드를 넣도록 설정하여 직접 푸시를 할 수 없도록 막아둔다.

     

    실제 사용자들에게 서비스가 되는 코드는 이 마스터 브랜치를 배포하여 제공된다.

     

    2. develop 브랜치

     

    배포일에 다음 master branch로 병합될 코드들이 있는 브랜치.

     

    마스터 브랜치에서 checkout 하여 생성되는 브랜치. 

     

    마스터 브랜치로 병합시켜 실제 사용자들을 사용하고 있는 프로덕션에 반영하게 된다.

     

    3. feature 브랜치

     

    하나의 스펙을 개발할 때 모든 검증과정을 거친 후에 develop branch에 넣을 수 있도록 각 스펙별로 분리한 브랜치.

     

    디벨롭 브랜치에서 checkout 하여 생성되는 브랜치.

     

    일반적으로는 feature / 기능명  형태.

     

    4. release 브랜치

     

    배포일 전에 디벨롭 브랜치에서 릴리즈 브랜치를 하나 생성하여, 릴리즈 브랜치를 마스터 브랜치에 merge 한다. (코드 프리징 하기 위함)

     

    최종 QA를 진행하여, 배포 직전 마지막으로 에러 및 버그를 최종 확인/수정을 거친다. 

     

    5. hotfix 브랜치 

     

    개발과정에서 발견하지 못한 중대한 버그 혹은 다음 배포일 까지 방치할 수 없는 경우 

     

    마스터 브랜치에서 checkout 하여서 수정 후, 디벨롭 브랜치에도 적용시켜줘야 한다. 

     

    trunk-based

    안정화된 단계에서는 trunk-based 방식도 있다.

     

    메인 브랜치 하나만 사용하는 것. 필요할 때마다 피쳐 브랜치를 만들어서 바로바로 합친다. 

     

    소스코드를 여러개 관리하지 않아도 되는 장점이 있다. 하지만, 그만큼 테스트를 자주 많이 해야 한다.

     

    테스트자동화,배포자동화(CI/CD) 시스템에 걸맞은 전략이다. 

     

    그 외 github flow, gitlab fow 등 다양한 전략이 있다. 

     

     


     

    Git Flow: 제일 쉽게 정리

    https://www.youtube.com/watch?v=QnXoJd2aO2o

     

    GitFlow vs Trunk-based 협업방식

    https://www.youtube.com/watch?v=EV3FZ3cWBp8

    반응형

    'Dev > Git' 카테고리의 다른 글

    git config 설정 확인 및 변경하기  (4) 2023.08.22

    댓글

Designed by Tistory.