gitflow, workflow

조영래·2022년 6월 30일
0

gitflow, workflow 란?

Gitflow

Giflow는 Feature 브랜치 등 여러 브랜치 들을 사용하여 개발하는 Git 브랜치 모델입니다. Trunk-based 개발과 비교하여 Giflow에는 오랜기간 지속되는 여러 브랜치들과 규모가 큰 커밋이 있습니다. 개발자는 Feature 브랜치를 만들고 기능이 완료될 때까지 이를 Main 브랜치에 Merge(병합)하지 않습니다. 병합에 비용이 많이 소요되며 conflict(충돌) 이 잦습니다.

구조

구조 : feature > develop > release > hotfix > master
develop과 master가 base가 된다.

1. master에서 develop을 분기한다.
2. 기능 구현을 위해 develop에서 feature를 분기한다.
3. 기능 구현이 완료되면 feature를 develop에 merge한다.
4. 배포를 위해 develop에서 release를 분기한다.
5. 테스트를 진행하면서 발생하는 버그 수정은 release 브랜치에 직접 반영한다.
6. 테스트가 완료되면 release를 master와 develop에 merge 한다.

브랜치

master

  • production을 위한 브랜치

develop

  • base branch : master
  • 개발을 위한 브랜치

feature

  • base branch : develop
  • 새로운 기능을 추가하기 위한 브랜치
  • origin에 반영되지 않으며 local repo에만 존재

release

  • base branch : develop
  • 새로운 production 릴리즈를 위한 브랜치
  • 현재까지의 기능들을 묶어서 develop에서 release를 따옴
  • develop에는 다음번 릴리즈를 위한 기능들을 추가
    release의 버그는 release에 직접 반영하고, 필요하다면 변경사항을 develop에도 반영해준다.
  • 릴리즈 준비가 완료되면 master에 merge 진행. 그 이후 develop에도 merge

hotfix

  • base branch : master
  • production에서 발생한 버그들을 fix하는 브랜치
  • 수정 후 master, develop에 반영 (release가 존재한다면 release에도 반영)

느낀점 : 단순 Git push, pull 인줄 알았는데 flow를 보고나니 git에 대해 더 자세히 이해한거 같다.

profile
난될놈이야

0개의 댓글