leebaek

[Git] branch에 대해 알아보자 본문

개발/Git

[Git] branch에 대해 알아보자

leebaek 2025. 5. 8. 14:36

 

■ branch란

■ branch 명령어

■ branch 병합방법


 

안녕하세요.

지난 글에선 Git의 필수 명령어에 대해 알아봤습니다.

 

오늘은 Git의 branch에 대해 포스팅해볼까 합니다.

branch는  Git에서 정말 중요한 역할을 하는데요.

GIt은 실험실인걸 생각하면서 글을 읽으면 이해하기 쉬울 것 같네요 ! 

 


■ branch란

: 코드의 독립적인 작업 공간

 

- 안정된 코드는 유지하면서 새로운 기능이나 수정을 자유롭게 실험할 수 있는 공간

- 메인 브랜치에 영향을 주지 않고 새 기능을 개발할 수 있음

- 다른 브랜치와 병합하여 하나의 완성된 결과물로 만들 수 있음

 

 

Git에서 브랜치는 프린트기의 복사본처럼 이해하면 쉽습니다.

 

📋 원본 문서 = main 브랜치

회사에서 사용하는 중요한 보고서 원본이 있다고 가정해보겠습니다.

이 문서는 아무나 고치면 안 되는 중요한 파일입니다.

 

📃 새 복사본 = feature 브랜치

신입 사원이 보고서를 수정해야 한다면 어떻게 할까요 ?

→ 원본을 그대로 수정하는 것이 아니라, 복사본을 뽑아서 작업(commit)

 

이후 작업한 복사본이 완성되면, 팀장님의 검토를 받습니다.

ok 승인을 받았다면, 복사본을 원본 문서에 반영하면 되겠네요 !

해당 작업이 merge입니다.

 


■ branch 명령어

기본 브랜치는 Git 버전에 따라 master 또는 main 으로 설정되어 있습니다.

 

1️⃣ 새 브랜치 생성

git branch 브랜치이름

 

- 현재 브랜치에서 새 브랜치를 분기시킴

- 새 브랜치로 이동 안함 ! 


2️⃣ 브랜치 이동

git checkout 브랜치이름

 

- 특정 브랜치로 이동


3️⃣ 브랜치 생성 + 이동

git checkout -b 브랜치이름

 

- 새 브랜치를 생성하고, 해당 브랜치로 전환


4️⃣ 브랜치 삭제

git branch -d 브랜치 이름

 

- 병합(merge) 완료된 브랜치를 안전하게 삭제할 때 사용

- 병합(merge)되지 않은 브랜치를 삭제하려면 -D 옵션 사용 


5️⃣ 브랜치 목록보기

git branch // 로컬만 표시
git branch -r // 원격 저장소에 있는 브랜치 목록만 표시
git branch -a // 로컬, 원격 전체 표시

6️⃣ 브랜치 이름 바꾸기

git branch -m 새이름

 

- 현재 브랜치 이름을 새 이름으로 바꿈


■ branch 병합방법

1️⃣ 메인 브랜치로 전환

git checkout main

 

꼭 main 브랜치가 아니어도 됩니다!

다른 병합하고 싶은 브랜치로 전환하면 됩니다.


2️⃣ 다른 브랜치와 병합

git merge feature/login

 

- 충돌이 생기면 Git이 자동 병합하지 못하므로 수동으로 수정하고 다시 커밋해야함


충돌(conflict)이란 ?

- 각 브랜치에서 같은 파일 같은 줄의 내용이 수정된 경우

- Git은 어떤 브랜치의 수정 내용을 따를지 혼동이 옴

- Git이 자동 병합하지 못하므로 수동으로 수정하고 다시 커밋해야 함


 

오늘의 포스팅 마치도록 하겠습니다 ~