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 |