Branch(브랜치) 이해하기 | 안전하게 새로운 기능 개발하는 방법
Branch는 Git의 가장 강력한 기능 중 하나입니다. 원본 프로젝트를 건드리지 않고 새로운 기능을 안전하게 개발할 수 있으며, 개발이 완료되면 원본 프로젝트에 합칠 수 있습니다. 이번 강의에서는 Branch가 왜 필요한지, 생성부터 변경, 병합(Merge)까지 초보자도 쉽게 이해할 수 있도록 설명합니다.
Branch란 무엇일까요?
Git을 처음 배우면 대부분 이런 생각을 합니다.
"그냥 main에서 계속 개발하면 되는 것 아닌가요?"
혼자 개발할 때는 그렇게 해도 큰 문제가 없을 수 있습니다.
하지만 프로젝트가 커질수록 문제가 발생합니다.
예를 들어
현재 쇼핑몰이 정상적으로 운영되고 있습니다.
여기에 새로운 결제 기능을 추가하려고 합니다.
만약 main 프로젝트에서 바로 작업한다면
결제 기능을 만드는 동안 오류가 발생하여
기존 쇼핑몰까지 사용할 수 없게 될 수도 있습니다.
그래서 사용하는 것이 Branch(브랜치) 입니다.
Branch는 복사본입니다.
Branch를 가장 쉽게 이해하는 방법은
프로젝트 복사본이라고 생각하는 것입니다.
예를 들어
main
↓
회원가입
↓
로그인
↓
게시판
여기서
결제 기능을 개발하고 싶다면
main
↓
payment 브랜치 생성
↓
결제 기능 개발
즉
원본을 건드리지 않고
복사본에서 작업하는 것입니다.
실생활로 이해하기
보고서를 제출했다고 가정해 보겠습니다.
원본 보고서를 바로 수정하면 위험합니다.
그래서
원본
↓
복사본 생성
↓
복사본 수정
↓
완성
↓
원본에 반영
이렇게 작업합니다.
Git의 Branch도 완전히 같은 개념입니다.
Branch를 사용하는 이유
Branch를 사용하는 이유는 매우 간단합니다.
원본 프로젝트를 보호하기 위해
예를 들어
현재 서비스 중인 프로젝트가 있습니다.
main
↓
정상 서비스
여기서
회원가입 기능을 수정합니다.
회원가입 수정
↓
오류 발생
만약 main에서 바로 작업했다면
서비스 전체가 영향을 받을 수 있습니다.
Branch를 사용하면
main
↓
Branch
↓
회원가입 수정
↓
오류 발생
원본 프로젝트는 전혀 영향을 받지 않습니다.
Branch 생성하기
브랜치를 생성하는 방법은 매우 간단합니다.
먼저 현재 브랜치를 확인합니다.
git branch
출력
* main
현재는 main 하나만 있습니다.
새로운 브랜치를 만들어 보겠습니다.
git branch login
다시 확인하면
git branch
* main
login
브랜치가 생성되었습니다.
하지만 아직 main에 있습니다.
Branch 이동하기
생성한 브랜치로 이동합니다.
git switch login
또는
git checkout login
현재 브랜치를 확인하면
main
↓
login
으로 변경됩니다.
생성과 동시에 이동하기
실무에서는 다음 명령을 가장 많이 사용합니다.
git switch -c payment
또는
git checkout -b payment
브랜치를 만들면서 바로 이동합니다.
Branch에서 개발하기
이제 payment 브랜치에서
결제 기능을 개발한다고 가정해 보겠습니다.
payment
↓
결제 화면
↓
결제 API
↓
결제 완료
모든 작업은
payment 브랜치에서만 이루어집니다.
main은 그대로 유지됩니다.
Merge란?
기능 개발이 완료되었다면
이제 원본 프로젝트에 반영해야 합니다.
이 과정을
Merge(병합) 라고 합니다.
먼저
main으로 이동합니다.
git switch main
그리고
git merge payment
를 실행합니다.
그러면
payment
↓
Merge
↓
main
이 됩니다.
Merge 후에는?
Merge가 끝났다면
payment 브랜치는 더 이상 필요하지 않습니다.
삭제합니다.
git branch -d payment
필요할 때마다
새로운 Branch를 만들어 개발하면 됩니다.
바이브 코딩에서는 Branch가 더 중요합니다.
AI에게
큰 기능을 맡긴다고 생각해 보겠습니다.
예를 들어
"쇼핑몰 결제 시스템을 만들어 줘."
라고 요청했습니다.
AI가 수백 개의 파일을 수정할 수도 있습니다.
이때
main에서 작업했다면?
프로젝트가 망가질 수도 있습니다.
하지만
main
↓
payment Branch
↓
AI 개발
↓
테스트
↓
정상
↓
Merge
이렇게 작업하면
원본 프로젝트는 항상 안전합니다.
AI에게 큰 기능을 맡길 때
추천하는 순서는
Commit
↓
Branch 생성
↓
AI에게 기능 요청
↓
테스트
↓
Merge
입니다.
이것이
실무에서도 가장 많이 사용하는 방식입니다.
오늘 배운 명령어
명령어 | 설명 |
|---|---|
git branch | 브랜치 목록 확인 |
git branch 브랜치명 | 브랜치 생성 |
git switch 브랜치명 | 브랜치 이동 |
git switch -c 브랜치명 | 브랜치 생성 + 이동 |
git merge 브랜치명 | 브랜치 병합 |
git branch -d 브랜치명 | 브랜치 삭제 |
기억하면 좋은 흐름
main
↓
Commit
↓
Branch 생성
↓
기능 개발
↓
Commit
↓
main 이동
↓
Merge
↓
Branch 삭제
이 흐름이 Git 협업의 기본입니다.
실무에서는 어떻게 사용할까요?
예를 들어
회원가입
↓
login Branch
↓
Commit
↓
Merge
게시판
↓
board Branch
↓
Commit
↓
Merge
결제
↓
payment Branch
↓
Commit
↓
Merge
모든 기능은
각각의 Branch에서 개발됩니다.
그래서 서로의 작업이 충돌하지 않습니다.
마무리
오늘은 Git의 핵심 기능인 Branch를 배웠습니다.
Branch는 단순히 프로젝트를 복사하는 기능이 아닙니다.
원본 프로젝트를 안전하게 보호하고, 여러 사람이 동시에 개발할 수 있게 해주는 Git의 가장 중요한 기능입니다.
특히 바이브 코딩 시대에는 AI에게 새로운 기능을 맡길 때 Branch를 사용하는 습관을 들이면, 예상치 못한 오류가 발생해도 원본 프로젝트를 안전하게 유지할 수 있습니다.
다음 강의에서는 여러 개발자가 함께 작업할 때 사용하는 Git 협업(Pull Request, Code Review, Conflict) 과 충돌이 발생했을 때 해결하는 방법을 알아보겠습니다.
FAQ
Q1. Branch를 꼭 만들어야 하나요?
간단한 개인 프로젝트라면 main에서 작업할 수도 있습니다. 하지만 기능이 커지거나 AI와 협업하는 경우에는 Branch를 사용하는 것이 훨씬 안전합니다.
Q2. Branch를 여러 개 만들어도 되나요?
네. 회원가입, 로그인, 게시판, 결제처럼 기능별로 각각 Branch를 만들어 작업하는 것이 일반적인 개발 방식입니다.
Q3. Merge를 잘못하면 어떻게 하나요?
걱정하지 않아도 됩니다. Merge 전에 Commit을 해두었다면 언제든 이전 상태로 되돌릴 수 있습니다. 또한 AI와 협업할 때도 Branch에서 충분히 테스트한 후 Merge하면 원본 프로젝트를 안전하게 유지할 수 있습니다.
로그인하면 진도를 저장할 수 있습니다.