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한다면 로컬 브랜치가 그대로 원격 브랜치로도 생성되게 되죠.
'데브옵스 > CI,CD' 카테고리의 다른 글
[Github] Git 기본 용어 및 명령어 모음 (0) | 2025.02.18 |
---|---|
무중단 배포 구조 설계해보기( 블루 그린, 롤링, 카나리 배포 ) (0) | 2025.01.30 |
[Github] Github 사용방법 - 커밋 충돌 (0) | 2025.01.23 |
[Github Actions] 코드 수정,테스트,배포 자동화하는 방법 (0) | 2025.01.18 |
[GitHub] private 레퍼지토리 clone 하기 (0) | 2024.12.31 |