팀프로젝트 - Git Flow

Seungmin Shin·2021년 10월 5일
1

Git flow 란?

깃 플로우 (git-flow) 를 간단하게 설명하자면, 깃에서 제공하는 "브랜치" 기능을 활용한
변경이력 관리전략이라고 설명하겠다.

다양한 브랜치를 이용해서 팀원들간의 협업 시, 마스터 브랜치에 직접적인 변경을 주지 않고도
다른 브랜치에서 안전하고도 도전적으로 작업을 해서 최종적으로 확정이 된 코드를 마스터로 올려보내는 과정을,
이 흐름을 git-flow 라고 한다.

다양한 브랜치 (branch)

다양한 브랜치라고는 해도, 개발자들 사이에서 공식적으로 쓰이는 브랜치가 존재한다.

  1. master: 제품으로 출시될 수 있는 가장 상위 브랜치
  2. develop (dev): 다음 출시버전을 개발하거나, 백업용으로 사용되는 브랜치
  3. feature: 기능개발에 사용되는 브랜치, 다양한 버전으로 가지치기처럼 생성해서 사용한다.
  4. release: 최신 출시버전을 준비하는 브랜치
  5. hotfix: 출시버전에서 발생한 버그를 수정하는 브랜치

(뭐, 이런 식으로 정해져 있다지만, 이번에 우리팀에서는 master, dev, feature 정도만 사용할듯 싶다.)

레파지토리의 구성

깃의 레파지토리의 구성은 크게 3부분으로 구성됩니다.

  1. Upstream Repository

  2. Origin Repository

  3. Local Repository

    Upstream Repository

  • Upstream 레파지토리는 팀원들이 공유하는 저장소로, 최신의 소스코드가 저장되어 있는 원격저장소입니다.

    Origin Repository

  • Origin 레파지토리는 Upstream 레파지토리를 Fork 한 원격 개인저장소 입니다.

    Local Repository

  • 내 컴퓨터에 저장되어 있는 개인 저장소입니다.

깃 워크플로우

기본적인 워크플로우의 순서입니다.

  1. Upstream Repository 를 Fork 한 Origin Repository 를 생성합니다.
  2. Origin 이 생성되었다면, Clone 을 해서 나의 Local 로 가져옵니다.
  3. Local 안에서 작업을 마친 후 Origin 에 Push 합니다.
  4. Push 된 해당 브랜치를 Upstream 으로 PR (Pull Request) 합니다.
  5. Upstream 에서 PR 되어 온 브랜치를 Merge 합니다.
  6. Merge 가 되어 최신화 된 Upstream 을 Local 에서 Pull 합니다.
  7. 3 ~ 6 번이 반복됩니다.
  8. 최종적으로 완성된 Upstream 을 배포하거나, 마무리 합니다.

깃 워크플로우를 검색하면 가장 많이 보이는 이미지 입니다, 그만큼 워크플로우를 이해하는데 도움이 됩니다.

profile
Frontend Developer

0개의 댓글