[Study] Git-flow, Work-flow

조혜인·2022년 8월 23일
0
post-thumbnail

📌 Git-flow란?

  • Git-flow는 우리가 익히 알고 있는 Git의 흐름이다. Vincent Driessen이라는 사람의 글에서부터 퍼지기 시작하여 지금은 Git을 사용한 개발의 표준과 같은 방법론이다.
  • Vincent Driessen의 방법론은 한 예제일 뿐 그 방법론을 바탕으로 수정하고 변형하여 사용하면 된다.

Git의 브랜치

  • Master : Git의 기준이 되는 브랜치로 제품을 배포하는 브랜치이다. 나무의 중심 뿌리라고 보면 된다.
  • Develop : 개발 브랜치로 개발자들이 작성한 작업들을 합친다.(Merge)
  • Feature : 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 Develop브랜치와 합친다.
  • Release : 배포를 위해 Master브랜치로 넘기기 전에 먼저 품질검사(QA)를 하기 위한 브랜치이다.
  • Hotfixes : Master브랜치로 배포를 했으나 버그가 생겼을 경우 긴급 수정하는 브랜치이다.

Git-flow 살펴보기

위 그림을 참고하여 Git-flow를 살펴보자.

  1. Master 브랜치에서부터 시작한다.
  2. 동일한 브랜치를 Develop에도 생성한다. 개발자들은 Develop 브랜치에서 개발을 진행한다.
  3. 개발을 진행하다 회원가입, 장바구니, 검색 등의 기능 구현이 필요한 경우 각 기능 별로 Feature브랜치를 따서 기능을 구현한다. 예를 들어 회원가입 개발자는 회원가입 Feature브랜치에, 장바구니 개발자는 장바구니 Feature 브랜치를 따서 개발을 진행한다.
  4. 완료된 Feature브랜치는 검토를 거쳐 다시 Devleop 브랜치와 합쳐진다.(Merge)
  5. 모든 기능이 완료되면 Develop 브랜치를 Release브랜치로 만든다. 이후 품질검사를 하면서 보완점을 보완하고 버그를 해결한다.
  6. 품질검사까지 마치면 Release브랜치를 Master와 Develop브랜치로 보낸다. Master브랜치에서 버전 추가를 위해 태그를 하나 생성하고 배포를 한다.
  7. 배포까지 완료되었지만 미처 발견하지 못한 버그가 있을 경우 Hotfixes브랜치를 만들어 긴급 수정 후 태그를 생성하고 바로 수정 배포를 한다.

📌 Work-flow란?

  • 작업 절차를 통한 정보 또는 업무의 이동을 의미하며 작업의 흐름이다. 문서, 정보, 태스크가 한 사용자에서 다른 사용자로 일련의 업무 절차 규칙에 의한 처리를 위해 전달되는 비즈니스 프로세스의 자동화이다.
  • 작업 절차의 운영적 측면으로 업무들이 어떻게 구성되고, 누가 수행하며, 순서가 어떻게 되며, 어떻게 동기화 시킬지, 업무를 지원하기 위한 정보가 어떻게 흐르는 지 그리고 업무가 어떻게 추적되는지에 따라 작업의 흐름이 정해진다.

📌 정리

  • Work-flow는 보통 자동차 제조업체와 같은 제품 제조 업체와 잘 맞는 것 같다. 프로그램을 개발할 때는 역시 Git-flow가 가장 효율적인 것 같다.

📌 참고

profile
코딩은 역시 재밌군

0개의 댓글