TIL | Git-flow

sik2·2021년 3월 26일
1

Git

목록 보기
1/4

🤔Git-flow?

git flow 는 형상관리 전략이다. 기능이 아니고 서로간의 약속 같은 방법론이다.
git 자체가 협업을 위한 툴이니 그 툴을 사용할때 유용한 방법이라고 생각하면 된다.

⛏Git-flow Branch

Git branch 에는

  • master : 배포를 위한 브랜치
  • develop : 다음 배포를 위한 개발 브랜치, 각자 작업한 기능들을 머지 한다.
  • feature : 각 개발자들에 의한 기능단위 개발이 진행되는 브랜치, 각 기능이 완료되면 develop 브랜치로 머지한다.
  • release : 내부 배포 버전 혹은 QA(품질검사)를 하기위한 브랜치
  • hotfix : master 브랜치로 배포 후 버그가 생겨 긴급히 개발 진행을 할때 사용하는 브랜치

master와 develop는 메인 브랜치 나머지는 개발 상황에 맞춰 운영하는 브랜치이다.

👆위 사진은 Git-flow를 설명하는 사진이다. 사진일 보고 Git-flow의 흐름을 분석해보자.

  • 최초 시작은 master branch
  • 동일한 상태로 develop 브랜치를 생성한다. 여기서 부터 개발을 진행하면 된다.
  • 여러 개발자가 각자 기능을 구현해야한다면 각자 feature 브랜치를 생성해 해당 브랜치에서 기능을 구현한다.
  • 완료된 feature 브랜치는 검토를 거쳐 다시 develop 브랜치에 머지한다.
  • 모든 개발이 끝나면 develop 브랜치를 release 브랜치로 생성한다. 그리고 QA(품질검사)를 한다.
  • 최종적으로 release 브랜치를 master 브랜치와 develop 브랜치로 보낸다. master 브랜치에서 버전추가를 위해 태그를 생성하고 배포한다.
  • 배포 후 버그가 발생했다면 hotfixes 브랜치를 만든다. 긴급수정 후 태그를 생성하고 수정 배포를 한다.

😄어떻게 활용하면 좋을까?

  • 가장 베스트는 위 사진이 제시한 방법론을 충실이 따르는 것이다.
  • 하지만 개발 상황이 모두 다르기 때문에 그에 맞춰서 응용해도 문제가 없다. 애초에 정답이 아닌 방법론이기 때문이다.
  • 하지만 어느정도 검증된 방법론인 만큼 초반에는 충실히 따르되 개발을 진행하면서 개발자 간의 피드백을 통해 그에 맞게 방법을 수정해 나가는게 좋다고 생각한다.

📄참고 자료

https://jeong-pro.tistory.com/196
https://uxgjs.tistory.com/183

profile
기록

0개의 댓글