Post

Git을 사용한 형상 관리 전략

변경을 추적하고 체계적으로 관리하기 위한 전략

Git을 사용한 형상 관리 전략

📌개요

형상 관리는 소스 코드 변경에 대한 모든 관리를 의미하며, 이를 통해 프로젝트의 일관성과 추적 가능성을 유지한다. 형상 관리 전략은 이러한 변경 사항을 체계적으로 관리하기 위한 방법들을 포함한다.

프로젝트와 형상 관리 툴에 따라 달라질 수 있지만, 이번엔 Git을 기준으로 형상 관리 전략을 정리한다.

📌형상 관리 브랜치 전략

브랜치 명명 규칙이 다를 수 있지만, 보편적이라고 생각되는 정보로 정리한다.

주요 브랜치

  1. master 브랜치:
    • 제품으로 출시될 수 있는 안정된 상태의 코드가 포함된다.
    • 배포 가능한 버전만이 병합된다.
  2. develop 브랜치:
    • 다음 출시 버전을 개발하는 브랜치다.
    • 기능 개발과 버그 수정이 이루어진다.

보조 브랜치

  1. feature 브랜치:
    • 새로운 기능을 개발할 때 사용된다.
    • develop 브랜치에서 파생하며, 작업 완료 후 develop 브랜치로 병합된다.
  2. release 브랜치:
    • 출시 준비를 위해 사용된다.
    • develop 브랜치에서 파생하며, QA 단계에서 발생한 버그를 수정한다.
    • 준비가 완료되면 master와 develop 브랜치로 병합된다.
  3. hotfix 브랜치:
    • 배포된 버전에서 긴급하게 수정이 필요한 버그를 처리할 때 사용된다.
    • master 브랜치에서 파생하며, 수정 완료 후 master와 develop 브랜치로 병합된다.

📌단계별 작업 흐름

  1. 초기 브랜치 구성:
    • 프로젝트 시작 시 master와 develop 브랜치를 생성한다.
  2. 기능 개발:
    • 새로운 기능 개발 시 develop 브랜치에서 feature 브랜치를 생성한다.
    • 기능 개발이 완료되면 feature 브랜치를 develop 브랜치로 병합한다.
  3. 출시 준비:
    • 다음 출시를 준비하기 위해 develop 브랜치에서 release 브랜치를 생성한다.
    • QA 과정을 거치며 발생한 버그들을 release 브랜치에서 수정한다.
  4. 최종 배포:
    • QA가 완료되면 release 브랜치를 master와 develop 브랜치로 병합한다.
    • master 브랜치에 새로운 버전 태그를 추가한다.
  5. 긴급 수정:
    • 배포된 버전에서 긴급한 버그가 발생하면 master 브랜치에서 hotfix 브랜치를 생성한다.
    • 버그 수정이 완료되면 hotfix 브랜치를 master와 develop 브랜치로 병합한다.

📌Convention

규칙은 일관성을 유지하고, 목적과 내용을 쉽게 파악할 수 있게 도와준다.

브랜치 명명 규칙

  1. master 브랜치:
    • master라는 이름을 사용한다.
  2. develop 브랜치:
    • develop라는 이름을 사용한다.
  3. feature 브랜치:
    • feature/{기능명} 형식을 사용한다.
    • ex) feature/login-pagefeature/add-user-profile
  4. release 브랜치:
    • release/{버전번호} 형식을 사용한다.
    • ex) release/1.0.0release/2.1.0
  5. hotfix 브랜치:
    • hotfix/{수정사항} 형식을 사용한다.
    • ex) hotfix/urgent-bughotfix/security-patch

커밋 메시지 규칙

  1. 타입:
    • feat: 새로운 기능 추가
    • fix: 버그 수정
    • docs: 문서 수정
    • style: 코드 포맷팅, 세미콜론 누락 등 (비즈니스 로직에 변경 없음)
    • refactor: 코드 리팩토링
    • test: 테스트 추가, 수정
    • chore: 기타 변경사항
  2. 형식:
    • {타입}: {변경사항 설명}
    • ex) feat: add login functionalityfix: resolve user profile bug

🎯결론

형상 관리 전략은 프로젝트의 변경 사항을 체계적으로 관리하고 추적할 수 있게 하는 중요한 역할을 한다.

이를 통해 개발 팀은 코드의 일관성을 유지하고, 배포 과정에서 발생할 수 있는 문제를 최소화할 수 있다.

Git을 활용한 형상 관리 전략은 다양한 프로젝트에 적용할 수 있으며, 각 브랜치의 역할을 명확히 정의함으로써 효율적인 개발 프로세스를 지원한다.

This post is licensed under CC BY 4.0 by the author.