GIT 브랜치란 무엇인가

2026. 1. 6. 15:49Git/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