카테고리 없음

GitFlow란

Lahezy 2023. 5. 18.
728x90

GitFlow

git을 사용하는 개발 환경에서 브랜치 간의 문제없이 배포까지 안정적으로 할 수 있도록 Branch를 관리하는 전략이다.

GitFlow 를 활용하여 브랜치 생성에 규칙을 만들어 협업을 유연하게 하는 방법론이다.

 

1. main(master) :  현재 운영되고 있는 코드를 가진 브랜치 

 

2. develop : 다음 출시 버전을 개발하는 브랜치

- main + @ (main에 추가로 코드를 가지고 있는 브랜치)

 

3. feature : 기능을 개발해 나가는 브랜치

- 기능 개발을 하는 브랜치  develop branch에서 브랜치를 생성하고 머지한다.

 

4. release : develop 브랜치 기반으로 다음 출시 버전을 준비하는 브랜치

-  develop 브랜치에서 release 브랜치로 옮긴 후에 QA, 테스트 등을 실행하고 main(master)로 머지한다.

 

5. hotfix : main(출시 버전)에서 발생한 버그를 수정하는 브랜치

- main에서  hotfix 브랜치를 생성하고 버그 해결 후 다시 main으로 머지한다.

 

 

메인 브랜치

- Master : 배포 가능한 상태만 관리

- Develop : 다음 버전으로 배포할 것들을 관리

 

보조 브랜치 

- Feature : 다음 버전에 넣을 기능들을 개발하여 develop로 머지한다, develop에서 브랜치를 생성한다. 

- Release :  다음 버전 배포를 위한 최종적인 에러 수정, 테스팅을 수행한다. develop에서 브랜치를 생성하고 배포 가능시에 main으로 머지한다. release가 main으로 머지된다면 develop 브랜치에도 머지를 진행한다. 

- Hotfix : 배포버전에 긴급한 수정이 필요한 경우, main에서 부터 브랜치를 따고 오류 수정 후 main으로 머지한다. 

 

 

 

[참고]

https://techblog.woowahan.com/2553/

https://inpa.tistory.com/entry/GIT-%E2%9A%A1%EF%B8%8F-github-flow-git-flow-%F0%9F%93%88-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%A0%84%EB%9E%B5

https://blog.hwahae.co.kr/all/tech/9507

728x90

댓글