기타

Git Branch 전략이란?

멍토 2021. 8. 22.

Git Branch 전략

우리는 프로젝트를 유지하기위해 Git이라는 버전관리 툴을 이용하고 있다.

Git을 이용해서 이전코드로 되돌리거나 변경된 사항을 추적할 수 있게된다.

Git이 머하는지는 알겠는데 Git Branch 전략은 왜 써야할까?

  1. CI/CD를 적용했다면 수정된 내용을 푸시하는 순간 서비스에 적용이된다. 만약 적용하면 안되는 기능은 push를 하면 안되는 걸까?
  2. CI/CD를 적용하지 않았다. 다음에 출시할 기능을 만들고 있었는데 핫픽스가 필요하게 되었다. 어떻게 할것인가?

위와 같은 문제점이 생기기 때문에 브랜치 전략이라는 것을 하게된다.

브랜치 전략은 유명한게 2가지가 있다.

GitHub Flow

GitFlow에 비해 간단하다는 장점이 있다.

Master브랜치를 릴리즈 브랜치로 하고 다른 브랜치를 PR하여 이용하는 원리이다.

GitFlow

GitHub Flow보다는 복잡한것이 단점이지만 유연하다는 장점이 있다.

팀에 따라서 변경될 수 있으나 기본적인 내용은 아래와 같다.

  • master (or main) : 현재 릴리즈되고있는 브랜치
  • develop : 개발된 기능이 추가된 브랜치
  • feature: 기능을 개발하고 있는 브랜치
  • hotfix: 버그를 수정하는 브랜치
  • releas: 배포전 준비를 하는 브랜치 QA 등을 진행한다.Git Branch 전략Git을 이용해서 이전코드로 되돌리거나 변경된 사항을 추적할 수 있게된다.
    1. CI/CD를 적용했다면 수정된 내용을 푸시하는 순간 서비스에 적용이된다. 만약 적용하면 안되는 기능은 push를 하면 안되는 걸까?
    2. CI/CD를 적용하지 않았다. 다음에 출시할 기능을 만들고 있었는데 핫픽스가 필요하게 되었다. 어떻게 할것인가?
    위와 같은 문제점이 생기기 때문에 브랜치 전략이라는 것을 하게된다.GitHub FlowGitFlow에 비해 간단하다는 장점이 있다.GitFlowGitHub Flow보다는 복잡한것이 단점이지만 유연하다는 장점이 있다.
    • master (or main) : 현재 릴리즈되고있는 브랜치
    • develop : 개발된 기능이 추가된 브랜치
    • feature: 기능을 개발하고 있는 브랜치
    • hotfix: 버그를 수정하는 브랜치
    • releas: 배포전 준비를 하는 브랜치 QA 등을 진행한다.
  • 팀에 따라서 변경될 수 있으나 기본적인 내용은 아래와 같다.
  • Master브랜치를 릴리즈 브랜치로 하고 다른 브랜치를 PR하여 이용하는 원리이다.
  • 브랜치 전략은 유명한게 2가지가 있다.
  • Git이 머하는지는 알겠는데 Git Branch 전략은 왜 써야할까?
  • 우리는 프로젝트를 유지하기위해 Git이라는 버전관리 툴을 이용하고 있다

댓글

💲 광고입니다.