시스템 개발 및 관리/Git 사용법

Git 브랜치와 HEAD 개념 정리

Data Jun 2025. 3. 20. 09:46

 Git을 사용하다 보면 HEADBranch(브랜치) 개념을 이해하는 것이 중요합니다. 이번 글에서는 이를 쉽게 설명하고, 관련된 개념을 정리해보겠습니다.

 

HEAD와 Branch의 관계

Git에서 HEAD는 현재 가리키고 있는 커밋을 의미합니다. 보통 HEAD는 특정 브랜치를 가리키며, 브랜치는 여러 커밋을 관리하는 하나의 흐름입니다.

💡 정리

  • HEAD → 특정 커밋을 가리킴
  • Branch → 코드 관리 흐름 (하나의 작업 단위)

 

브랜치란 무엇인가?

Git에서 브랜치는 코드의 흐름을 나누어 관리하는 개념입니다. 새로운 기능을 개발하거나, 버그를 수정할 때 독립적인 브랜치를 만들면 효율적으로 관리할 수 있습니다.

💡 정리

  • 브랜치는 특정 커밋을 가리키는 포인터이다.
  • 새로운 기능을 개발할 때 별도의 브랜치를 만들고 작업하면 안전하다.

 

브랜치의 진행 과정

브랜치는 처음에 하나의 흐름을 가지지만, 필요에 따라 여러 개의 커밋과 흐름으로 나뉘게 됩니다. 일반적으로 master 브랜치에서 새로운 브랜치를 생성하여 개발합니다.

💡 정리

  • Git은 기본적으로 master 브랜치를 가짐
  • 새로운 브랜치를 생성하면 별도의 작업 공간에서 개발 가능

 

HEAD와 Branch의 연결

Git에서 HEAD는 특정 브랜치를 가리키고 있으며, 이 브랜치는 특정 커밋을 가리키고 있습니다. 따라서 우리가 작업하는 위치를 HEAD가 결정한다고 볼 수 있습니다.

💡 정리

  • HEAD → branch → commit 순서로 연결됨
  • 현재 작업 중인 위치를 HEAD가 관리

 

다른 브랜치로 이동하기

브랜치를 변경하려면 git checkout 또는 git switch 명령어를 사용합니다.

git checkout premium
# 또는
git switch premium

이렇게 하면 HEAD가 premium 브랜치로 변경됩니다.

💡 정리

  • git checkout <branch> 또는 git switch <branch>로 이동 가능
  • 현재 HEAD가 가리키는 브랜치가 변경됨

 

브랜치 병합(Merge)

브랜치를 병합하는 과정에서는 두 개의 브랜치가 합쳐지면서 새로운 커밋이 생성됩니다.

git merge premium

위 명령어를 실행하면, premium 브랜치의 변경 사항이 현재 master 브랜치에 병합됩니다.

💡 정리

  • git merge <branch>를 사용해 브랜치를 합칠 수 있음
  • 병합 후 새로운 병합 커밋이 생성됨

결론

  • HEAD: 현재 가리키는 커밋(또는 브랜치)
  • Branch: 코드 관리 흐름을 나누는 개념
  • Checkout/Switch: 다른 브랜치로 이동
  • Merge: 두 개의 브랜치를 하나로 합치는 과정

Git 브랜치를 활용하면 코드 관리를 훨씬 효율적으로 할 수 있습니다. 🎯