미식가의 개발 일기

GitFlow란? 본문

Settings

GitFlow란?

대체불가 핫걸 2024. 12. 31. 14:35
GitFlow란?
Git을 사용하는 프로젝트에서 브랜치를 효율적으로 관리하기 위해 고안된 것으로
여러 명이 협업하는 대규모 프로젝트에서 매우 유용한 전략입니다.

1️⃣ 개요

Git은 여러 명이 한 프로젝트를 관리할 때 거의 필수적인 도구입니다.

소규모 프로젝트에서는 큰 문제가 없을 수 있지만, 프로젝트가 커지고 여러 명이 협업하다 보면 같은 파일을 동시에 수정하는 경우 충돌이 발생하거나, 잘못된 수정으로 인해 문제가 생길 위험이 커질 수 있습니다.

이를 방지하기 위해 GitFlow는 다음과 같은 방식을 사용합니다:

  1. 메인 프로젝트(메인 브랜치)를 기준으로 복사(새로운 브랜치 생성)하여 작업합니다.
  2. 복사된 브랜치에서 새로운 기능 개발이나 수정 작업을 진행하고 테스트를 완료합니다.
  3. 작업이 완료되면 메인 브랜치로 다시 병합(Merge)하여 최종 프로젝트에 반영합니다.

이 방식은 작업을 독립적으로 진행하면서 메인 프로젝트를 안전하게 보호하고, 충돌을 최소화하며 협업을 효율적으로 관리할 수 있게 도와줍니다.

 

2️⃣ GitFlow의 주요 브랜치

출처: https://medium.com/devsondevs/gitflow-workflow-continuous-integration-continuous-delivery-7f4643abb64f

💡Main (master)

항상 배포 가능한 코드를 유지하는 메인 브랜치

💡Develop

개발 진행시 사용하는 브랜치(모든 기능 브랜치(Feature)버그 수정 브랜치(Release)가 이곳에 병합)

💡Feature

`feature/새로운-기능`: 새로운 기능 개발을 위한 브랜치(Develop 브랜치에서 분기하여 개발이 완료시 다시 병합) 

💡Release

테스트 및 버그 수정을 진행하는 브랜치

💡Hotfix

배포 후 관련된 긴급한 문제를 수정하는 브랜치(Main 브랜치에서 분기하여 문제 해결 후 Main, Develop에 병합)

 

반응형