ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git Branch 전략
    Computer Science 2024. 2. 18. 23:31
    728x90

    Git flow

    • Main Branch
    • Feature Branch
    • Release Branch
    • Hotfix Branch

     

    가장 중심이 되는 브랜치는 master와 develop 브랜치이며,

    Merge feature, release, hotfix 브랜치는 삭제하도록 한다.

    Main branch

    • Master

    - 배포 가능한 상태만을 관리하는 브랜치

    • Develop

    - 다음에 배포할 것을 개발하는 브랜치

    - 통합 브랜치의 역할을 하며, 평소에는 이 브랜치를 기반으로 개발을 진행

    Supporting branch

    • Feature

    - 기능을 개발하는 브랜치로, develop 브랜치로부터 분기

    - 그 기능을 다 완성할 때까지 유지하고, 다 완성하면 develop 브랜치로 merge(다음 배포에 확실히 넣을 거라고 merge, 결과가 실망스러우면 아예 버린다)

    - Feature 브랜치는 보통 개발자 저장소에만 있는 브랜치고, origin에서는 push하지 않는다

     

    기존에 잘 작동하는 개발 코드(develop 브랜치)와 새로 변경될 개발코드(feature 브랜치)를 분리하고 각각 보존하는 것

    Feature 브랜치는 git-flow 전략에서 지칭하는 단위 개발 브랜치의 의미를 갖는다

    • Release
      • Develop 브랜치에 이전 버전에 포함되는 기능이 merge 되었다면 QA를 위해 develop 브랜치에서부터 release 브랜치를 생성
      • 배포를 위한 최종적인 버그 수정 등의 개발을 수행
      • 배포 가능한 상태가 되면 master 브랜치로 병합시키고, 출시된 master 브랜치에 버전 태그를 추가
      • Release 브랜치에서 기능을 점검하며 발견한 버그 수정 사항은 develop 브랜치에도 적용해주어야 ! 그러므로 배포 완료 develop 브랜치에 대해서도 merge 작업을 수행

    • Hotfix
      • 배포한 버전에서 긴급하게 수정할 필요가 있는 경우 master 브랜치에서 분기하는 브랜치
      • 버그를 잡는 사람이 일하는 동안에도 다른 사람들은 develop 브랜치에서 하던 일을 계속 할 수 있다
      • 만든 hotfix 브랜치에서의 변경 사항은 develop 브랜치에도 merge하여 문제가 되는 부분을 처리해주어야
    728x90

    'Computer Science' 카테고리의 다른 글

    [CS] RAID  (0) 2024.07.08
    [CS] Persistent Data structure  (0) 2024.07.05
    SettingWithCopyWarning  (1) 2023.11.24
    방화벽  (0) 2023.11.05
    데이터베이스 관련 정리  (0) 2023.11.05
Designed by Tistory.