[git] git branch 전략(Git-Flow, Github-flow)

최준영·2024년 1월 13일

사전지식

branch

여러 사용자가 독립적으로 작업을 진행할 수 있도록 도와주는 작업 흐름

pull request

Pull request는 개발자가 자신의 변경사항을 공유하고, 이를 다른 브랜치나 저장소에 병합하기 위해 다른 개발자들에게 검토와 승인을 요청하는 기능이다.

Git Branch 전략

  1. git-flow
  • git-flow branch 종류
    1. master : 제품으로 출시될 수 있는 브랜치
    2. develop : 다음 출시 버전을 개발하는 브랜치
    3. feature : 기능을 개발하는 브랜치
    4. release : 이번 출시 버전을 준비하는 브랜치
    5. hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
  • git-flow 과정
    1. master 브랜치에서 develop 브랜치를 분기합니다.
    2. 개발자들은 develop 브랜치에 자유롭게 커밋을 합니다.
    3. 기능 구현이 있는 경우 develop 브랜치에서 feature-* 브랜치를 분기합니다.
    4. 배포를 준비하기 위해 develop 브랜치에서 release-* 브랜치를 분기합니다.
    5. 테스트를 진행하면서 발생하는 버그 수정은 release-* 브랜치에 직접 반영합니다.
    6. 테스트가 완료되면 release 브랜치를 master와 develop에 merge합니다.
  1. github-flow

->Github Flow는 깃허브(GitHub)를 기반으로 한 간단하고 유연한 개발 워크플로우로 주요 목표는 신속한 배포와 효율적인 협업을 지원하는 것이다. Github Flow는 Git Flow와 달리 단일 브랜치를 사용하여 개발하는데, 이는 하나의 버전이 만들어지면 바로 배포될 수 있다는 의미이다.

  • github-flow 과정
    1. Branch 생성
      -> 새로운 기능이나 버그 수정 작업을 수행하기 위해 브랜치를 생성
    2. Commit 작성
    3. Pull Request 생성
    4. 리뷰 및 피드백
      ->풀 리퀘스트를 생성한 후 다른 개발자들이 코드를 검토한다
    5. merge
      -> 풀 리퀘스트가 승인시 변경 사항을 본래 브랜치로 병합
    6. 배포
  1. 참고

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

    https://velog.io/@kw2577/Git-branch-%EC%A0%84%EB%9E%B5

0개의 댓글