GIT 브랜치란 무엇인가
2026. 1. 6. 15:49ㆍGit/Git 브랜치
🌱 브랜치는 코드베이스의 독립된 작업 흐름을 가볍게 만들고 관리할 수 있게 해주는 Git의 핵심 기능입니다.
GIT 브랜치(Branch)란?
🌿 브랜치(Branch)란?
- 모든 버전관리 시스템에서 지원되지만, Git의 브랜치는 특히 매우 가볍고 빠르게 생성·이동 가능하다는 점이 차별점입니다.
- 좀 더 기술적으로는, 브랜치는 커밋 객체(Commit object)를 가리키는 포인터입니다.
🔍 내부 구조 요약
- Git은 변경사항(diff) 기반이 아니라 스냅샷(snapshot) 기반으로 데이터를 기록합니다.
- 브랜치를 생성하면 사실상 “해당 시점의 커밋을 가리키는 참조파일(약 40 바이트)”을 만드는 것과 같습니다.
🎯 왜 만들고 왜 사용하는가?
- ✅ 독립적인 개발 흐름 확보 — 메인(main)과 별개로 기능 개발, 버그 수정 가능
- 🧩 여러 작업의 병렬 진행 — Merge 시점에 통합하여 충돌·혼동 최소화
- ⚙️ Git의 브랜치는 생성·전환이 매우 빠르므로, 하루에도 수십 번 전환하며 작업해도 효율적입니다.


🧱 주요 명령어 예시
| 🧩 명령어 | 🧾 설명 |
|---|---|
git branch 브랜치명 |
새 브랜치를 생성합니다. |
git checkout 브랜치명 |
해당 브랜치로 전환합니다. |
git checkout -b 브랜치명 |
새 브랜치를 생성하며 생성된 브랜치로 전환됩니다. |
git log --oneline --decorate --graph --all |
브랜치 구조와 히스토리를 시각적으로 확인합니다. |
🧭 git checkout 대신 git switch, git restore ✨
📘 왜 바뀌었을까?
git checkout 명령어는
👉 “브랜치 전환”과 “파일 복원” 두 역할을 모두 담당했습니다.
하지만 이게 초보자뿐 아니라 숙련자에게도 혼동을 주는 명령어였죠 😅
그래서 Git 2.23(2019 년 8 월)부터,
역할을 분리한 두 명령어가 새로 도입되었습니다:
git switch→ 브랜치 전환 전용git restore→ 파일 복원 전용
이제 Git에서는 역할이 명확한 명령 체계를 권장합니다.
🔄 명령어 비교표
| 🧩 기능 | ⛔ 이전 명령어 | ✅ 현재 권장 명령어 | 📝 설명 |
|---|---|---|---|
| 브랜치 전환 | git checkout <브랜치> |
git switch <브랜치> |
단순히 브랜치 이동 |
| 새 브랜치 생성 + 전환 | git checkout -b <브랜치> |
git switch -c <브랜치> |
-c 옵션은 create의 약자 |
| 특정 파일 되돌리기 | git checkout -- <파일> |
git restore <파일> |
파일을 최근 커밋 상태로 복원 |
💡 예시 코드
# ✅ 최신 Git 방식
git switch develop # 브랜치 전환
git switch -c feature/login # 새 브랜치 생성 + 이동
git restore src/App.java # 파일 복원
# ⚠️ 예전 방식 (아직 동작하지만 권장되지 않음)
git checkout develop
git checkout -b feature/login
git checkout -- src/App.java'Git > Git 브랜치' 카테고리의 다른 글
| GIT 브랜치 실습 2 (0) | 2026.01.06 |
|---|---|
| GIT 브랜치 실습 1 (0) | 2026.01.06 |
| GIT 브랜치 관리 (0) | 2026.01.06 |
| GIT 브랜치와 Merge의 기초 (0) | 2026.01.06 |