이 글은 깃허브에 대한 기초 지식은 있는 사람들을 대상으로 작성했다. 만약 깃이 처음이라면 간단하게라도 공부하고 이 글을 읽어야 이해가 잘 된다. 오늘은 깃의 꽃인 브랜치(branch)에 대해 알아보겠다. 브랜치의 개념부터 브랜치의 생성 및 사용법까지 이 글을 통해 이해해보자.
목차
1. git branch 개요
영단어 branch는 나뭇가지라는 뜻이다. 나뭇가지를 보면 나무 줄기에서 나와 여러 갈래로 뿔뿔이 갈라져 있다. git에서 쓰는 branch도 비슷한 개념이다. branch를 생성하면 프로젝트 팀원들이 각자 뿔뿔이 흩어져 코딩 작업을 할 수 있다.
이해하기 쉽게 예시를 하나 들겠다. 팀원 A,B,C가 팀 개발 프로젝트를 한다고 해보자. 브랜치를 생성하지 않으면 팀원들이 항상 모여서 회의하듯이 코딩을 해야 한다. 그런데 A, B, C가 각자 컴퓨터에 브랜치를 생성했다고 해보자. 그러면 그냥 각자 브랜치에서 코딩 작업을 하면 된다. 마지막에만 각자 브랜치에서 완료한 작업물들을 병합(merge)하면 된다. 이렇듯 브랜치를 쓰면 훨씬 더 편하게 협업할 수 있다.
2. git branch 생성 방법
브랜치를 생성하기 전에, 브랜치를 포함할 저장소를 만들어야 한다. 저장소를 만드는 방법은 크게 두 가지다.
- 깃허브에 있는 원격 저장소를 내 컴퓨터에 복제해오기(clone)
- 내 컴퓨터에 로컬 저장소 새로 만들기
1번, 깃허브에 있는 원격 저장소를 로컬 저장소로 복제하는 방법은 링크를 클릭하면 알 수 있다.
2번, 내 컴퓨터에 로컬 저장소를 새로 만드는 방법은 다음과 같다. (윈도우 11 기준)
- 새 폴더 만들기: 바탕화면 빈 공간 우클릭-새로 만들기-폴더
- 폴더에서 쓸 파일 만들기: 폴더 안에 메모장, VS code 등 파일 만들기
- 로컬 저장소로 만들기: 폴더 열기-폴더 안의 빈 공간 클릭-추가 옵션 표시-open git bash here
- git 초기값으로 설정: git bash에 명령어 ‘git init‘입력

여기까지 했으면 로컬 저장소를 모두 만들었다. 이제 본격적으로 브랜치를 만들어 보겠다.
git에서 브랜치는 생성하는 방법은 간단하다. 아래 명령어를 git bash에 입력해야 하면 된다.
git branch 브랜치명
예를 들면 프로젝트 A라는 이름의 브랜치를 만든다면, ‘git branch 프로젝트 A’라고 입력하면 된다.

‘git branch‘ 명령어를 입력하면 새롭게 만들어진 브랜치를 조회할 수 있다. 다음 챕터에서는 이렇게 만들어진 브랜치를 사용하는 방법에 대해 알아보겠다.
3. git branch 사용법
3.1 branch 조회하기
현재 존재하는 모든 브랜치가 무엇인지 보고 싶을 때는 다음 명령어를 입력하면 된다.
git branch
한편, 내가 현재 작업하는 브랜치가 무엇인지 알고 싶을 땐 다음 명령어를 입력하면 된다.
git status
3.2 branch 전환하기
브랜치를 전환하는 작업도 자주 사용한다. 예를 들어 브랜치 A에서 브랜치 B로 넘어가서 작업을 하려고 한다면, 아래와 같은 명령어를 쓰면 된다.
git checkout <전환하고자 하는 브랜치명>
또는 switch 명령어를 사용해도 된다.
git switch <전환하고자 하는 브랜치명>
이렇게 브랜치를 전환한 후 코딩을 하면 해당 브랜치에 소스 코드를 저장할 수 있다.
3.3 branch 삭제하기
만들어진 브랜치를 삭제하는 방법은 다음과 같다. 여기서 사용하는 명령어 d를 ‘delete’의 약자로 기억하면 편하다. 참고로 현재 들어와 있는 브랜치를 삭제하는 건 불가능하다.
git branch -d <삭제할 브랜치명>
3.4 다른 branch로 푸쉬하기
A 브랜치에서 만든 코드를 B라는 브린치에 그대로 옮기고 싶을 때가 있다. 그럴 때는 아래 명령어를 쓰면 된다.
git push origin <push하고자 하는 브랜치>
이때, 푸쉬하고자 하는 작업물들이 먼저 현재 브랜치에 커밋으로 저장되어 있어야 한다. 커밋으로 작업물을 저장하려면 아래 두 가지 명령어를 차례로 입력하면 된다.
git add .
git commit -m '남기고 싶은 말'
이때 ‘남기고 싶은 말’에는 수정 사항이나 기억할 사항들을 따로 적어주면 편하다. 예를 들어 A라는 기능을 구현한 후, ‘git commit -m ‘A 기능 구현 완료’‘라고 메시지를 남겨 주면 나중에 코드를 볼 때 편하다.
참고로 이번 글에서 git add와 git commit의 의미를 자세히 설명하지는 않겠다. 간략히 설명하자면 git add 소스 코드를 스테이지에 올리는 작업이고, git commit은 스테이지에 올라온 코드를 내 저장소에 저장하는 작업이다. 이번 글에서는 그냥 이 두 가지 명령어를 같이 써야 코드를 푸쉬할 수 있는 상태가 된다는 것만 알아두자.
3.5 브랜치 병합하기
만들어진 branch를 합칠 땐 다음과 같은 순서를 따른다. 먼저 여러 브랜치를 모으고자 하는 중심 브랜치로 이동한다. 나무로 비유하면 줄기에 해당하는 브랜치로 이동하는 과정이다.
git checkout <중심 브랜치명>
이제 다른 브랜치를 여기에 가져오면 된다.
git merge <가져 올 브랜치명>
가령 ‘main’이라는 중심 브랜치에 프로젝트A라는 브랜치를 병합한다고 해보자. 그러면 아래 명령어를 순서대로 입력하면 된다.
git checkout main
git merge 프로젝트A
3.6 branch 이름 변경하기
branch 이름을 변경할 때는 다음과 같은 명령어를 쓰면 된다.
git branch -m <기존 브랜치명> <변경 후 브랜치명>
위에서 만들었던 프로젝트 A를 프로젝트 B로 이름을 바꾼다고 해보자. 그러면 ‘git branch -m 프로젝트A 프로젝트B‘ 라고 입력하면 된다.
git branch 명령어로 현재 브랜치 목록을 살펴보면 브랜치 이름이 잘 바뀐 것을 확인할 수 있다.
3.7 더 많은 branch 관련 명령어 보기
여기까지 git에서 branch를 다룰 때 가장 많이 쓰는 명령어들을 정리했다. 더 많은 명령어를 알고 싶다면 링크를 클릭해서 알아보길 바란다. 여러가지 브랜치 명령어가 잘 정리된 블로그라 소개한다.
또한 다음 글에서는 깃에서 나타나는 충돌 현상에 대해 다뤄보겠다. branch를 사용하다가 겪을 수 있는 흔한 오류 증상이기 때문에, 깃을 쓰는 개발자라면 모두 숙지하는 것이 좋다.