| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 성수볼거리
- 객체지향
- JavaScript
- 성수직장인
- 헤드퍼스트
- 상속
- 책너두
- Java
- docker
- 책읽기
- 객체지향프로그래밍
- 주니어개발자
- Linux
- 헤드퍼스트디자인패턴
- 독서일지
- 독서
- IntelliJ
- 성수
- 디자인패턴
- 성수핫플
- 오브젝트
- 직장인
- 깨끗한코드
- DesignPattern
- 개발자
- 성수맛집
- 코딩
- 클린코드
- JAVA개발자
- 직장인점심
- Today
- Total
런타임노트
[Git] branch 생성과 전환 방법 본문
branch란 무엇인가?
branch란 개발 저장소를 어지럽히지 않고 병렬적으로 개발을 수행할 수 있도록 도와주는 작업공간이다. branch는 Git의 가장 기본적인 작업공간 단위이다. 따라서 branch라 부르는 작업공간을 전환하고 생성하는 방법은 매우 중요하며, 작업 공간의 목록을 확인하는 것도 매우 중요하다.
git branch 이용해 브랜치 목록과 현재 브랜치 확인하기
git branch를 사용하면 브랜치 목록이 뜬다. 이 중 왼쪽에 *표시가 되어 있는 것이 현재 작업중인 브랜치이다.

그림1. git branch
branch 생성하기
이번에는 브랜치를 생성하는 방법을 알아보자. branch를 생성하는 방법은 다음 두가지 방법으로 가능하다.
- git branch를 이용한 생성
- git checkout -b 를 이용한 생성과 전환 동시 처리
git branch를 이용한 생성
branch는 git branch 명령어로 생성 가능하다.
git branch [branch name]
예를 들어 "feature-play" 라는 브랜치를 생성하고 싶으면 다음과 같이 작성하면 된다.
git branch "feature-play"

그림2. branch 생성
하지만 위와 같이 생성했을 때는 브랜치가 자동 전환되지 않는다.
git checkout -b 를 이용한 생성과 전환 동시 정리하기
브랜치를 생성의 생성과 전환을 동시에 하고 싶으면 다음 git checkout -b 명령어를 써야한다.
git checkout -b [branch name]
이 명령어는 브랜치가 없을 때는 브랜치를 생성해주고 전환하며 브랜치가 있을 때는 브랜치를 전환한다. 예를 들어 "feature-call"이라는 브랜치를 생성과 전환을 동시에 하고 싶다면 다음의 명령어를 사용하면 된다.
git checkout -b "feature-call"

그림3. 브랜치 생성과 전환 동시 처리
git switch -c를 이용해 브랜치 생성과 전환 동시에 처리하기
git switch를 이용해 브랜치의 생성과 전환을 동시에 처리하고 싶다면 -c 옵션을 추가하면 된다. 이 명령어는 git checkout -b와 똑같이 동작한다. -c는 create의 약자이다.
git switch -c [branch name]
branch 전환하기
브랜치를 전환하기 위해 git에서는 두가지 명령어를 지원한다.
- git switch
- git checkout
git switch를 이용해 브랜치 전환하기
branch를 전환하기 위해서는 다음 명령어로 전환이 가능하다.
git switch [branch name]
예를 들어 "feature-call" 브랜치에서 "master" 브랜치로 전환하고 싶다면 다음의 명령어를 통해 가능하다.
git switch "master"

그림4. 브랜치 전환하기
하지만 git switch 명령어는 브랜치가 없을 경우에는 전환하지 않는다.

그림5. 브랜치 전환하기 
브랜치가 없을 경우 새로 브랜치를 생성 후 전환하고 싶다면 위에서 언급한 git switch -c 옵션을 추가해야 한다.
git checkout을 이용해 브랜치 전환하기
git checkout은 기본적으로 git swtich와 동작이 같다. git checkout을 이용하면 브랜치 전환이 가능하다.
git checkout [branch name]
git checkout 또한 git switch와 마찬가지로 브랜치가 없을 경우에는 전환되지 않는다. 브랜치가 없을 경우 새로 브랜치를 생성 후 전환하고 싶다면 위에서 배운 git checkout -b 옵션을 추가해야 한다.

그림6. 브랜치 전환하기
왜 git switch 와 git checkout이 비슷할까?
git checkout에는 많은 옵션이 있다. 너무 옵션이 많아서 커밋 단위 전환부터 브랜치 전환까지 모두 지원한다. 하지만 이렇게 하나의 명령어에 많은 옵션을 몰아넣는 것은 사용성을 떨어트린다. 이를 해결하기 위해 git switch가 git checkout의 브랜치 관련 명령어를 대체하기 위해 나왔다.
즉, git switch는 branch 조작만을 위한 명령어이며 git checkout은 branch 조작 뿐만 아니라 다른 기능들도 포함하는 명령어라고 보면 된다. 만든 이의 의도에 따라 브랜치 조작을 위해서는 git switch를 사용하는 것이 권장된다.
branch 조작을 위해서는 git switch를 사용하자!
'Git' 카테고리의 다른 글
| cherry-pick (다른 브랜치에 있는 커밋 한개만 내 브랜치에 반영하고 싶을 때) (0) | 2025.11.11 |
|---|---|
| [Git] fatal: Not a valid object name: 'master'. (0) | 2023.10.12 |
| [Git] 원격 저장소 연결 및 끊기 (git remote) (0) | 2023.08.22 |
| [Git 오류] Updates were rejected because the tip or your current branch is behind its remote.. (0) | 2023.05.22 |
| Git의 시작 (0) | 2023.02.24 |