데브옵스/CI,CD

[Github] Github 사용방법 - 브랜치 전략

SparkIT 2025. 1. 22. 19:29

Github는 여러 팀원과 같은 소스코드에 붙어 작업할 때 유용하게 쓰입니다. 즉, Github를 효율적으로 사용하기 위해서는 같은 소스코드(레포지토리)를 충돌없이 개발하는 방법을 알아야합니다. 오늘은 먼저 Github에서 많이 사용되는 브랜치 전략 몇 가지에 대해 소개하겠습니다.

 

✅ 브랜치(Branch)란?

먼저 브랜치가 무엇인지 알고 갑시다. git branch란 간단하게 독립적인 작업 영역 단위라고 이해하셔도 됩니다. 예를 들어 같은 레포지토리(소스코드)에서 A 브랜치, B 브랜치를 생성했다고 가정합니다. 그러면 A 브랜치에서의 작업은 B 브랜치에 전혀 반영되지 않습니다. 똑같이 B 브랜치에서의 작업은 A 브랜치에 전혀 반영되지 않죠.


Git Branch 전략

1. Git Flow

5가지 정도의 브랜치를 이용하는 전통적 방식

  • main : 배포용
  • develop: 개발용
  • feature: 새로운 기능 개발용
  • releate: 다음 출시 버전용
  • hotfix: 버그 해결용

 

2. Github Flow

아주 단순화된 전략. 배포용 브랜치, 작업용 브랜치 2가지만 운영하는 방식

  • main: 배포용
  • feature: 개발용

 

3. Gitlab Flow

git flow와 github flow 중간 단계. github flow 전략에서 배포 전 단계의 브랜치를 하나 더 추가한 방식

  • main: 개발용
  • pre-production: 배포 전 단계용 
  • production: 배포용

 

 

로컬 브랜치? 원격 브랜치?

처음 브랜치를 이용할 때 실수할 수 있는 부분이 있습니다. 바로 Github(원격)에 존재하는 브랜치와 해당 레포지토리를 clone 받아 로컬 환경에서 작업할 때의 브랜치가 다를 수도 있다는 것입니다.

더 정확히 말하자면 로컬에서 브랜치를 생성했다고 해서 이것이 바로 원격 브랜치에 적용되지는 않는다는 뜻입니다. 만약 로컬에서 브랜치를 하나 새롭게 생성했고, 이 내용을 원격으로 push한다면 로컬 브랜치가 그대로 원격 브랜치로도 생성되게 되죠.