[GIT] 브랜치란 무엇인가

Git 브랜치의 특징

  • Git에서 브랜치는 매우 가볍고 빠르게 생성 및 전환할 수 있습니다. 브랜치를 생성하면 현재의 스냅샷을 기반으로 새로운 브랜치를 만들기 때문에 기존 코드를 복사하는 것이 아니라 순식간에 생성됩니다.
  • 브랜치를 이용하면 코드를 통째로 복사하여 독립적으로 개발할 수 있습니다.
  • Git은 브랜치를 만들어 작업하고, 나중에 변경 사항을 다른 브랜치와 Merge하는 방식을 권장합니다.

Git 데이터 저장 방식 개념 정리

  • Git은 데이터를 스냅샷으로 저장합니다.
  • 커밋 시점에 Git은 현재 스냅샷에 대한 포인터, 저자 및 커밋 메시지와 같은 메타데이터, 이전 커밋에 대한 포인터 등을 가지고 있는 커밋 개체를 저장합니다.
  • 각 파일의 내용은 Blob(데이터의 바이너리 형태)로 저장됩니다.
  • SHA-1를 사용하여 파일의 체크섬을 저장합니다.
  • 파일을 커밋하면 이전 커밋에 대한 정보도 저장합니다.

새 브랜치 생성하기

  • 새로운 기능을 개발하거나 버그를 수정하기 위해 브랜치를 만들 수 있습니다. 아래의 명령어로 `testing`이라는 브랜치를 생성합니다.
  • $ git branch testing
  • `HEAD`는 현재 작업 중인 브랜치를 가리키는 특수한 포인터입니다. 새로 만든 `testing` 브랜치가 아직 `master`를 가리키고 있습니다. 
  • $ git log --oneline
  • 이 명령을 통해 한눈에 브랜치가 어떤 커밋을 가리키는지 확인할 수 있습니다.

브랜치 이동하기

  • 브랜치를 변경하려면 `git checkout` 명령어를 사용합니다. 예를 들어, `testing` 브랜치로 이동하려면 다음과 같이 입력합니다.
  • $ git checkout testing
  • testing 브랜치에서 커밋 후 master 브랜치로 이동 후 커밋하면 브랜치는 갈라져서 진행합니다.
  • 브랜치를 이동하면 디렉토리의 파일이 변경됩니다.

브랜치 시각화

  • git log --oneline --graph --all 명령어를 이용하여 브랜치 히스토리를 시각화하여 보여줍니다.

Git의 브랜치는 실제로는 40글자의 SHA-1 체크섬을 갖는 파일로서, 이는 단순한 41바이트 크기의 정보로 구성되어 있습니다. 이러한 특성으로 인해 브랜치를 만들거나 삭제하는 것이 간편하며, 브랜치 간의 전환이 신속하게 이루어집니다.

'GIT > Git 브랜치' 카테고리의 다른 글

[GIT] Rebase 하기  (0) 2024.02.13
[GIT] 리모트 브랜치  (1) 2024.02.13
[GIT] 브랜치 워크플로  (0) 2024.02.13
[GIT] 브랜치 관리  (1) 2024.02.13
[GIT] 브랜치와 Merge의 기초  (0) 2024.02.13