img

  • Git에서 branch(브랜치)는 독립적인 작업 흐름을 만들기 위해 사용하는 개념.
  • 새로운 기능을 개발하거나 버그를 수정할 때, 기존 코드를 건드리지 않고 안전하게 작업을 진행하겨면 새 브랜치를 만들어 작업한 뒤, 완료 후 메인(main/master) 브랜치에 변경 내용을 합치는(병합, 머지) 방식이 기본 워크플로우이다.

브랜치를 사용하는 이유

독립적인 작업 공간

  • 현재 제품(프로덕션) 코드를 안정적으로 유지하면서, 실험적으로 기능 개발을 하고 싶을 때 유용.
  • 각 기능(또는 이슈, 버그 수정)마다 별도 브랜치를 만들어서 개발하면, 서로 간섭 없이 안전하게 작업할 수 있다.

히스토리 관리 용이

  • 기능 단위로 브랜치가 만들어지고 머지(Merge) 되므로, 커밋 히스토리가 보기 쉬워진다.
  • 기능별로 작업한 커밋을 한눈에 파악할 수 있다.

협업 편의성

  • 여러 명이 동시에 작업할 때, 각자 브랜치를 사용하면 충돌을 최소화하고, 최종적으로 병합 과정을 통해 코드를 통합한다.

브랜치 관련 기본 명령어

브랜치 목록 보기

  • 로컬에 있는 브랜치를 전부 표시.
  • 현재 체크아웃된 브랜치는 *로 표시.
git branch

# * main

새 브랜치 생성 & 전환

  • git branch <브랜치-이름>: 브랜치 생성만 수행
  • git checkout -b <브랜치-이름>: 브랜치 생성 후 해당 브랜치로 바로 이동
# 브랜치를 생성만
git branch <브랜치-이름>

# 생성 + 전환을 동시에 (권장)
git checkout -b <브랜치-이름>

브랜치 전환(checkout)

  • 작업 중이던 변경사항이 커밋되지 않았다면, 스테이시(stash)하거나 커밋을 완료해야 깨끗하게 전환할 수 있다.
# main(또는 master) 브랜치로 돌아가서
git checkout main

# 작업 브랜치를 main으로 병합
git merge <작업-브랜치-이름>

브랜치 병합(merge)

  • 주로 main 또는 develop 브랜치로 돌아가서, 원하는 작업 브랜치를 병합.

  • 충돌이 발생하면 수동으로 충돌 해결 후 git add . → git commit

# main(또는 master) 브랜치로 돌아가서
git checkout main

# 작업 브랜치를 main으로 병합
git merge <작업-브랜치-이름>

브랜치 이름 변경

# Checkout된 branch 이름 변경
git branch -m <새로운-이름>

브랜치 삭제

  • -d는 “병합된 브랜치”만 삭제할 수 있다(안전장치).

  • -D는 “병합되지 않은 브랜치”도 강제로 지운다(주의!).

# 로컬 브랜치 삭제
git branch -d <브랜치-이름>

# -D 옵션을 쓰면 강제 삭제
git branch -D <브랜치-이름>

원격 브랜치 관리

# 원격에 새 브랜치 푸시
git push origin <브랜치-이름>

# 원격 브랜치 삭제
git push origin --delete <브랜치-이름>

요약

  • 브랜치는 독립된 작업 흐름을 위한 “분기”다.
  • 기능별, 이슈별로 브랜치를 따로 만들어 작업한 뒤, 병합을 통해 main 브랜치에 반영한다.
  • Git은 브랜치 생성/전환/병합이 매우 빠르고 효율적이므로, 작은 단위로 브랜치를 만들어 작업하는 편이 좋다.
  • 협업 시 충돌 관리와 코드 리뷰에도 크게 도움이 된다.

이렇게 브랜치를 잘 운용하면, 안정적인 코드를 유지하면서 동시에 여러 가지 기능 개발을 빠르고 안전하게 진행할 수 있다.

태그:

카테고리:

업데이트:

댓글남기기