반응형

Git-flow

설명

  • 주기적으로 배포해야하는 프로젝트에 적합하다.
  • 관리하는 브랜치가 많아 복잡할 수 있다
  • 브랜치를 크게 아래 4가지로 나누어 개발하는 전략
  • Main branch
    • master
      • 배포 가능한 상태만을 관리하는 브랜치
    • develop
      • 다음에 배포할 것을 개발하는 브랜치
      • 평소에는 이 브랜치를 기반으로 개발을 진행
  • Feature branch
    • 기능을 개발하는 브랜치로 develop 브랜치로부터 분기
    • 개발을 완료하면 develop 브랜치로 merge
    • 보통 개발자 로컬에 두고 origin에는 push하지 않는다. (경우에 따라 push는 필요할수도..?)
  • Release branch
    • QA를 위해 develop으로부터 생성하는 브랜치
    • QA 완료 후 master 브랜치에 merge 후 버전 태그 추가
  • Hotfix branch
    • 배포한 버전에서 긴급하게 수정을 해야할 경우 master 브랜치에서 분기하는 브랜치
    • master에서 분기한 브랜치이기 때문에 develop에 작업중인 코드와 별개로 작업이 가능하다
    • 이 브랜치에서의 변경사항을 develop 브랜치에도 merge해주어야 한다.

Git-flow 진행 과정

Github-flow

설명

  • 복잡한 Git-flow를 보완하기 위해 Github에서 나온 브랜치 전략
  • 수시로 배포가 일어나는 프로젝트에 적합
  • master 브랜치는 엄격한 role로 관리되며 항상 최신 상태로 관리
  • 새로운 작업 시작 전에 master에서 새 브랜치를 분기하여 작업을 시작한다.
    • Git-flow와 다르게 feature 브랜치나 develop 브랜치로 관리하지 않음
  • 새 작업 브랜치에 작업을 완료하면 push하고 테스트 진행
  • 새 브랜치 작업 테스트 완료시 PR을 통해 리뷰 받고 master 브랜치로 merge
  • master로 merge된 경우 즉시 배포되어야 한다.

Github-flow 진행 과정

반응형

+ Recent posts