개발 도중 새로운 기능을 추가해야 할 때, 기존 코드를 안전하게 유지하면서 개발 가능.
해결 방법: 프로젝트의 복사본 생성 → 새로운 기능 개발 → 원본에 합치기
git branch 브랜치이름 # 브랜치 생성
git switch 브랜치이름 # 브랜치 이동
git checkout 브랜치이름 사용git switch main # 또는 master, 설정에 따라 다름
git status
git log --graph --oneline --all
HEAD : 현재 작업 위치(브랜치)를 의미.git switch main # 메인 브랜치로 이동
git merge 브랜치이름 # 브랜치 병합
브랜치에서 개발한 내용을 메인 브랜치에 합침.
충돌 발생 시 (merge conflict) 주의:
<<<<, ====, >>>> 제거 후 원하는 코드 유지git add 파일명
git commit -m "merge conflict 해결"
여러 명이 동시에 같은 프로젝트를 수정할 때 유용.
개발 흐름:
git merge 브랜치명 # Fast-forward merge 자동 수행
git merge --no-ff 브랜치명 # 강제로 3-way merge
git branch -d 브랜치이름 # 병합 완료 브랜치 삭제
git branch -D 브랜치이름 # 병합되지 않은 브랜치 강제 삭제
git switch 신규브랜치
git rebase main
git switch main
git merge 신규브랜치
git merge --squash 브랜치명
git commit -m "새 기능 통합"
브랜치(branch) : 프로젝트 복사본 생성 → 안전하게 개발 → 메인에 병합
Merge 방식
협업 시 브랜치를 활용하면 안정적이고 효율적인 개발 가능