본문 바로가기
BackEnd/Project

[Board] Ch01. 깃 브랜치 전략 세우기

by 개발 Blog 2024. 8. 5.

공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다.

 

깃 브랜치 전략 세우기

 

깃 브랜치를 운영하는 방법론

- gitflow

  • master, develop, feature, release, hotfix 브랜치를 설정하고 운영하는 방식이다.

- github flow

  • main(master), feature 브랜치만으로 운영하는 방식이다.

브랜치 전략을 세우는 이유와 요령

 

- 여러 개발자가 하나의 프로젝트 소스코드를 다루면서 발생하는 각종 부작용을 해결하기 위함이다.

 

- 개발 협업을 원활하게 하기 위한 약속이다.

 

전략을 세울 때 고려할 수 있는 요소들

- 이 브랜치는 제품으로 내보낼 수 있는가?

- 이 브랜치는 빌드 실패를 허용하는가?

- 이 브랜치는 테스트 실패를 허용하는가?

- 이 브랜치는 임시로 운영하는가? 유지하지 않고 수시로 삭제하는가?

앞으로 진행될 프로젝트 계획들을 카드로 만들어 정리하였다.

 

이제 각 카드를 크기와 우선순위별로 정리하여 프로젝트의 진행 상황을 효율적으로 관리할 수 있다. 예를 들어, 도메인 설계, 데이터베이스 접근 로직 테스트 정의, 게시판 API 구현 등의 작업을 각각의 카드로 만들고, 크기(L, M, S)와 우선순위(High, Medium, Low)를 지정하였다. 실무에서는 New와 Backlog의 경계가 흐리거나 아예 없는 경우도 있다. 따라서 New 칼럼을 없애고 모든 작업을 Backlog로 옮겼다.

 

깃 크라켄을 이용한 Git Flow 구현

이제 GitKraken을 이용하여 Git Flow를 구현할 것이다. 다음은 그 과정과 설정 방법에 대한 설명이다.

 

1. Dummy Branch 생성

  • 먼저, GitKraken에서 dummy 브랜치를 생성한다.

2. Git Flow 설정

  • GitKraken 설정 메뉴에서 Gitflow 섹션으로 이동한다.
  • 마스터 브랜치를 dummy로 설정하고, 개발 브랜치를 main으로 설정한다.
  • 기능적으로는 master 브랜치를 사용하지 않고 develop 브랜치만 가지고 개발을 진행한다.
  • 이 develop 브랜치가 main과 같은 역할을 한다.

3. Production-Ready Branch

  • 메인 브랜치, 즉 Git Flow의 develop 브랜치는 언제든 배포할 수 있는 온전한 상태의 브랜치로 역할을 한다.
  • 이를 통해 GitHub Flow를 Git Flow 기능을 통해 우회하여 사용할 수 있다.

이런 식으로 GitHub Flow를 Git Flow 기능을 통해 우회하여 사용할 수 있다. 이를 통해 더 효율적으로 프로젝트를 관리하고 배포 준비 상태를 유지할 수 있다.

 

이제 Git Flow 설정에 따라 새로운 기능 브랜치를 생성하고, 이를 이슈에 할당한다.

1. 이슈 할당

  • 예를 들어, #3번 이슈에 대해 작업을 시작한다.

2. Feature Branch 생성

  • GitKraken에서 feature/#3-gitflow 브랜치를 생성한다.

3. 디렉토리 구조 관리

Feature 브랜치가 생성되면, 디렉토리 구조 아래에서 편리하게 관리할 수 있다.

'BackEnd > Project' 카테고리의 다른 글

[Board] Ch01. API 설계  (0) 2024.08.06
[Board] Ch01. 유즈 케이스 작성하기  (0) 2024.08.06
[Board] Ch01. 깃허브 프로젝트 관리  (0) 2024.08.05
[Board] Ch01. 프로젝트 기획  (0) 2024.08.04
[MVC] Ch07. DI 프레임워크  (0) 2024.08.02