소스코드 방법론 GitFlow , TBD

dmn_nmd·2023년 9월 15일
0

Git

목록 보기
1/1
post-thumbnail

프로젝트 관리

GitFlow와 이를 기반으로하는 방법론들과 TBD에 대해 알아보자.

GitFlow 및 GitFlow 기반의 방법론과 TBD는 지향하는 바가 다르다.
상이한 관점과 모든 방법론에서 동일하게 이루어져야할 개발 방향에 대해 알아보자.

Git Flow

  • Main
    - 배포 대상
  • Develop
    - 개발 브랜치
  • Feature
    - 단위 개발, 단기 개발
  • Release
    - main 병합 이전, 테스팅과 수정 진행
  • Hotfix
    - 긴급한 버그 수정
    - main, develop에 병합한다.
  • 안정적 / 역할 구분 명확 / 복잡한 구조 / 관리가 어려움

GitLab Flow

  • Main
    - 배포 대상
    - 항상 최신 안정 버전일 것
  • Develop
    - 개발 브랜치
  • Feature
    - 단기 기능 개발용
  • github gitflow 그 사이

GitHub Flow

  • Master
    - 배포 대상
    - 항상 최신 안정 버전일 것
  • Feature
    - 기능 개발

Trunk-based development (TBD)

TBD는 GitFlow 기반 방법론과는 목적이 달리 한다.
Main 브랜치에 대한 관점이 상이하다.

  • Trunk(Main)
  • flag / toggle
    - branch 사용 지양
  • 목적
    - 병합 충돌 최소화
    - 빠른 피드백 (CI/CD)
    - 코드베이스 일관성
  • 주의사항
    - 작은 단위의 커밋을 지향, 자주 병합할 것

GitHub Flow / TBD 차이점

  • GitHub Flow는 main 브랜치가 항상 배포 가능한 상태여야하나, TBD는 미완성 기능 또한 병합한다.

즉, GitFlow와 이를 기반으로하는 방법론들은 Main의 안정성을 목표로 한다. 반면 TBD는 빠른 피드백 및 CI/CD를 목적으로 한다.


공통적 개발 방법

Commit

  • 커밋은 커뮤니케이션과 같다. 즉, 짧게 자주 이루어져야할 것

분할정복

  • Divide and Conquer,
  • 모든 개발은 분해되어야 하고 Agile하게 이루어저야 할 것
profile
일잘러가 되어야지

0개의 댓글