Git Branch 전략

주성민·2023년 2월 3일
4
post-thumbnail

브랜치?

독립적인 하나의 작업 환경으로 각각의 브랜치는 다른 브랜치의 영향을 받지 않아, 여러 작업을 동시에 진행 할 수 있다.

브랜치 분리 이유?

여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효율적으로 관리하기 위해 역할을 나눠 소스를 관리함으로 각 개발자들의 혼란을 최소화 할 수 있기 때문이다.

브랜치 전략?

브랜치를 분리해야 할 필요성을 알고 브랜치를 무분별하게 분리하면 오히려 역효과가 발생할 수 있다. 이에 따라 적합한 전략을 세워 분리하고자 하는 브랜치를 효율적으로 관리하기 위해서 사용한다.

대표적으로 사용하는 전략?

  • Git flow
  • Gitgub flow

내가 사용하고 있는 전략

  • dev : 정규 작업
  • hot : 긴급 수정 작업
  • develop : 개발 서버 환경 메인 브랜치
  • develop_release : 운영 서버 반영 예정 브랜치
  • release : 운영 서버 메인 브랜치

전략 흐름

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 순으로 병합하는 형태

profile
Java Dev

1개의 댓글

comment-user-thumbnail
2023년 2월 7일

설명이 맛있네요

답글 달기

관련 채용 정보