[GitHub 100일 챌린지] Day 42 - 브랜치 생성하기
[GitHub 100일 챌린지] Day 42 - 브랜치 생성하기
100일 챌린지 Day 42 - git branch 명령어로 새로운 브랜치를 생성합니다.
배울 내용
- git branch 기본 사용법
- 브랜치 생성 옵션
- 브랜치 생성 실전 예제
Topic1. git branch 기본 사용법
git branch는 브랜치를 생성하고 관리하는 명령어입니다.
브랜치 목록 확인
현재 브랜치 확인:
1
2
3
4
git branch
# 출력 예시
* main
별표(*)는 현재 작업 중인 브랜치를 나타냅니다.
모든 브랜치 보기:
1
2
3
4
5
6
7
git branch -a
# 출력 예시
* main
develop
remotes/origin/main
remotes/origin/develop
새 브랜치 생성
기본 생성 방법:
1
2
3
4
5
6
7
8
git branch feature/login
# 확인
git branch
# 출력
feature/login
* main
생성 후에도 현재 브랜치는 main입니다.
해보기: 첫 브랜치 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 새 저장소 초기화
mkdir git-branch-practice
cd git-branch-practice
git init
# 첫 커밋
echo "# My Project" > README.md
git add README.md
git commit -m "Initial commit"
# 새 브랜치 생성
git branch feature/user-auth
# 확인
git branch -v
# 출력:
feature/user-auth a1b2c3d Initial commit
* main a1b2c3d Initial commit
결과
1
2
3
✅ feature/user-auth 브랜치 생성됨
✅ 두 브랜치 모두 같은 커밋을 가리킴
✅ 현재 브랜치는 여전히 main
Topic2. 브랜치 생성 옵션
다양한 브랜치 생성 방법과 옵션을 알아봅니다.
특정 커밋에서 브랜치 생성
1
2
3
4
5
# 커밋 히스토리 확인
git log --oneline
# 특정 커밋에서 브랜치 생성
git branch hotfix/bug-fix a1b2c3d
브랜치 생성과 동시에 전환
1
2
3
4
5
# 생성 + 전환 동시에
git checkout -b feature/payment
# 최신 Git에서는
git switch -c feature/notification
브랜치 명명 규칙
1
2
3
4
5
6
7
8
9
10
11
# 기능 개발
git branch feature/user-profile
# 버그 수정
git branch bugfix/login-error
# 긴급 수정
git branch hotfix/security-patch
# 릴리스
git branch release/v1.2.0
해보기: 다양한 방법으로 브랜치 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 기본 브랜치 생성
git branch feature/dashboard
# 2. 생성 + 전환
git checkout -b feature/profile
# 프로필 작업
echo "Profile page" > profile.html
git add profile.html
git commit -m "Add profile page"
# 3. 브랜치 상태 확인
git log --oneline --all --graph
결과
생성된 브랜치들:
1
2
3
4
5
6
git branch -v
# 출력:
feature/dashboard a1b2c3d Initial commit
* feature/profile d4e5f6g Add profile page
main a1b2c3d Initial commit
Topic3. 브랜치 생성 실전 예제
실무 시나리오에서 브랜치 생성 전략입니다.
시나리오 1: 신규 기능 개발 시작
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1. 최신 main으로 업데이트
git checkout main
git pull origin main
# 2. feature 브랜치 생성 + 전환
git checkout -b feature/login-system
# 3. 개발 시작
touch login.html login.js
git add .
git commit -m "feat: Initialize login system structure"
# 4. GitHub에 푸시
git push -u origin feature/login-system
시나리오 2: 긴급 버그 수정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1. main에서 즉시 hotfix 브랜치 생성
git checkout main
git checkout -b hotfix/critical-bug
# 2. 빠르게 수정
git add auth.js
git commit -m "hotfix: Fix security vulnerability"
# 3. main에 즉시 병합
git checkout main
git merge hotfix/critical-bug
# 4. 배포 및 태그
git tag v1.0.1
git push origin main --tags
시나리오 3: Git Flow 전략 적용
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
# 1. develop 브랜치 생성
git checkout -b develop
# 2. 기능 개발
git checkout -b feature/shopping-cart
echo "Shopping cart" > cart.js
git add cart.js
git commit -m "feat: Add shopping cart"
# 3. develop에 병합
git checkout develop
git merge feature/shopping-cart
# 4. 릴리스 준비
git checkout -b release/v1.0
echo "1.0.0" > VERSION
git add VERSION
git commit -m "chore: Version 1.0.0"
# 5. main에 병합 및 태그
git checkout main
git merge release/v1.0
git tag v1.0.0
해보기: 완전한 브랜치 워크플로우
gitGraph
commit id: "Initial"
branch develop
checkout develop
branch feature/cart
checkout feature/cart
commit id: "Add cart"
checkout develop
merge feature/cart
branch release/v1.0
checkout release/v1.0
commit id: "v1.0.0"
checkout main
merge release/v1.0 tag: "v1.0.0"
결과
브랜치 전략의 장점:
1
2
3
4
5
✅ main: 항상 배포 가능
✅ develop: 다음 릴리스 개발
✅ feature/*: 독립적 기능 개발
✅ release/*: 릴리스 준비
✅ hotfix/*: 긴급 수정
정리
오늘 배운 내용:
1. git branch 기본:
1
2
3
4
git branch # 브랜치 목록
git branch [이름] # 브랜치 생성
git branch -v # 상세 정보
git branch -a # 모든 브랜치
2. 브랜치 생성 옵션:
1
2
3
git branch [이름] [커밋] # 특정 커밋에서
git checkout -b [이름] # 생성 + 전환
git switch -c [이름] # 최신 방식
3. 브랜치 명명 규칙:
1
2
3
4
feature/기능명 # 새 기능
bugfix/버그명 # 버그 수정
hotfix/긴급수정 # 긴급 패치
release/버전 # 릴리스
완료 체크:
- git branch 명령어를 사용할 수 있다
- 브랜치 생성 옵션들을 이해했다
- 실무 브랜치 전략을 적용할 수 있다
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
