gitflow, workflow

turnaroundwoo·2023년 3월 10일
0

11st Blogs

목록 보기
37/52

보통 협업을 진행하게 되면 협업하는 팀원들과 git을 사용할텐데요. 실제로 각자 작성한 코드가 어떻게 합쳐지고 배포되는 걸까요?🤔 하나씩 알아보도록 하겠습니다.

gitflow 이해하기

Git-flow 란, 10년전 쯤에 Vincent Driessen 이라는 사람의 블로그 글에 의해 널리 퍼지기 시작했고 현재는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론입니다

Git-flow는 기능이 아니고 서로간의 약속인 방법론이라는 점입니다. Vincent Driessen도 언급했듯이 Git-flow가 완벽한 방법론은 아니고 각자 개발 환경에 따라 수정하고 변형해서 사용하라고 언급했습니다.

✅ Git-flow는 총 5가지의 브랜치를 사용해서 운영을 합니다.

master : 기준이 되는 브랜치로 제품을 배포하는 브랜치 입니다.
develop : 개발 브랜치로 개발자들이 이 브랜치를 기준으로 각자 작업한 기능들을 합(Merge)칩니다.
feature : 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 develop 브랜치에 합칩니다.
release : 배포를 위해 master 브랜치로 보내기 전에 먼저 QA(품질검사)를 하기위한 브랜치 입니다.
hotfix : master 브랜치로 배포를 했는데 버그가 생겼을 떄 긴급 수정하는 브랜치 입니다.

📌 master와 develop가 중요한 매인 브랜치이고, 나머지는 필요에 의해서 운영하는 브랜치라고 보시면 됩니다.

✅ Git-flow의 흐름은 다음과 같습니다.

1️⃣ 일단 master 브랜치에서 시작을 합니다.
2️⃣ 동일한 브랜치를 develop에도 생성을 합니다. 개발자들은 이 develop 브랜치에서 개발을 진행합니다.
3️⃣ 개발을 진행하다가 회원가입, 장바구니 등의 기능 구현이 필요할 경우 A개발자는 develop 브랜치에서 feature 브랜치를 하나 생성해서 회원가입 기능을 구현하고 B개발자도 develop 브랜치에서 feature 브랜치를 하나 생성해서 장바구니 기능을 구현합니다.
4️⃣ 완료된 feature 브랜치는 검토를 거쳐 다시 develop 브랜치에 합칩니다.(Merge)
5️⃣ 이제 모든 기능이 완료되면 develop 브랜치를 release 브랜치로 만듭니다. 그리고 QA(품질검사)를 하면서 보완점을 보완하고 버그를 픽스합니다.
6️⃣ 모든 것이 완료되면 이제 release 브랜치를 master 브랜치와 develop 브랜치로 보냅니다. master 브랜치에서 버전추가를 위해 태그를 하나 생성하고 배포를 합니다.
6️⃣ 배포를 했는데 미처 발견하지 못한 버그가 있을 경우 hotfixes 브랜치를 만들어 긴급 수정 후 태그를 생성하고 바로 수정 배포를 합니다.

🗒 출처


0개의 댓글