[Git] Feature 브랜치 개념과 생명주기

jiyoungdev·2025년 5월 19일

📌 본 글은 신세계 I&C 부트캠프에서 배운 내용을 기반으로 정리한 글입니다.

🌳 브랜치란?

Git에서 브랜치(branch)는 개발 흐름을 나누고,
여러 기능을 동시에 독립적으로 개발할 수 있도록 도와주는 기능입니다.

💬 “브랜치는 마치 독립된 작업 공간입니다.”


📁 브랜치 구조와 역할

아래는 일반적으로 사용하는 브랜치 구조입니다:

브랜치설명
master운영/배포용 브랜치 → CI/CD와 연결되어 배포 시 사용됨
develop기능 개발 통합 브랜치 → 여러 feature 브랜치를 병합
feature/이슈-번호특정 기능 또는 작업 단위 개발용 브랜치
releaseQA/테스트용 브랜치 (배포 전 안정성 검증)
hotfix운영 중 발생한 긴급 수정용 브랜치
git branch -d feature/issue-#1  # 완료된 브랜치는 삭제

🧩 Feature 브랜치란?

기능 개발을 위한 작업 전용 임시 브랜치

보통 하나의 이슈 또는 기능 단위로 생성하며, 작업 후 develop 또는 master에 병합합니다.

📌 명명 규칙 예시:

  • feature/login
  • feature/#12-user-auth
  • feature/api-v2

✅ 왜 feature 브랜치를 쓰나요?

  • 기능별로 작업 분리가 가능해 충돌이 적음
  • 병합 시점까지 독립적으로 실험 가능
  • 코드 리뷰와 테스트 단위로 관리하기 유리

🔄 Feature 브랜치 생명주기

▶ 생명주기 개념 요약

  • 보통은 짧은 단위 (이슈 단위)로 생성
  • 하지만 작업이 복잡할 경우 긴 생명주기를 가지는 경우도 있음
  • 작업 중 develop보다 feature 브랜치가 앞서 있는 경우,
    git merge develop으로 최신 상태를 병합하는 것이 중요

🛠️ 실전 흐름 예시

1. 브랜치 생성

git checkout -b feature/issue-#1
  • IntelliJ 상단 브랜치명도 함께 확인: (feature/issue-#1)

2. 브랜치 목록 확인

git branch --list

3. 파일 작업 및 커밋

git add .
git commit -m "Feat: 로그인 기능 구현 #1"

💡 이슈 번호를 함께 작성하면 연동 관리에 유리합니다

4. 병합 전 develop의 최신 상태 병합

git merge develop

📸 예시 이미지:

5. develop 브랜치로 이동 후 병합

git checkout develop
git merge feature/issue-#1

6. 원격 저장소에 push

git push origin develop
# 또는 모든 브랜치 push
git push origin --all

7. 작업 완료된 브랜치 삭제

git branch -d feature/issue-#1                  # 로컬 브랜치 삭제
git push origin --delete feature/issue-#1       # 원격 브랜치 삭제

🔁 기타 실전 상황 & 명령어

상황명령어
master에서 새 브랜치 생성git checkout -b feature/OOO
브랜치 이름 변경git branch -m old new
다른 브랜치 병합git merge master
원격 브랜치 정리git fetch -p
모든 로컬/원격 브랜치 보기git branch -a
원격 브랜치 자동 연결git branch --set-upstream-to=origin/develop develop

❗ 주의할 점 요약

  • 커밋 메시지는 명확하게, 이슈 번호와 함께 작성
  • 병합 전 항상 최신 develop/master를 merge해서 충돌 방지
  • 병합 후 브랜치 삭제로 깔끔한 브랜치 관리 유지

✍️ 이 글은 제가 공부하며 직접 정리한 내용입니다.
필요하신 분들과 자유롭게 공유하셔도 좋지만,
출처는 꼭 함께 남겨주시면 감사하겠습니다 :)

🔗 출처: jiyoungdev.log


📄 본 글은 CC BY-NC-ND 4.0 라이선스에 따라 보호됩니다.

저작자 표시 ✧ 비영리 ✧ 변경금지

CC License

profile
"꼼꼼하다, 믿음이 간다"는 말을 자주 듣는 개발자

0개의 댓글