코드 관리

브랜치(Branch)

브랜치는 Git에서 특정 커밋을 가리키며, 새 변경을 별도로 이어서 기록할 때 사용하는 이름입니다.

쉬운 설명

잘 열리는 스터디 신청 페이지를 유지하면서 새 기능을 시험하고 싶을 수 있어요. Git에서는 브랜치를 만들어 기존 기록에서 새 작업을 따로 이어갈 수 있어요. 예를 들어 main은 기존 상태를 가리키고, form-fix에서는 신청 오류를 고친 커밋을 쌓는 식이에요. 검토가 끝나면 필요한 변경을 main에 합칠 수 있어요.

이런 상황에서 만나요

AI에게 신청 오류 수정을 맡기기 전에 “새 브랜치에서 작업해 주세요”라고 할 수 있어요. 아래는 form-fix로 전환한 뒤 수정 내용을 커밋한 상태를 간추린 화면이에요. 어떤 브랜치에서 작업 중인지와 main에 아직 합치지 않은 변경을 확인해요.

현재 작업 위치와 main에 합칠 변경을 확인해요

설명용 화면 · 브랜치에서 수정 후 커밋한 가상 상태
1현재 브랜치 확인
$ git branch --show-current
form-fix
2이번 브랜치에 기록한 변경
form-fix · 새 커밋

빈 이메일 제출 차단

변경 파일: SignupForm.tsx

3아직 합치지 않은 기준 브랜치

main: 수정 전 커밋을 가리킴

변경을 검토한 뒤 main에 병합

  1. 1명령의 결과는 지금 작업 중인 브랜치 이름이에요.
  2. 2수정을 커밋하면 현재 브랜치의 기록이 이어져요.
  3. 3이 예시에서 main은 그대로예요. 브랜치에서 커밋했다고 main에도 자동 반영되지는 않아요.
명령 출력과 작업 상태를 설명용으로 재구성했습니다. 실제 실행 기록이 아니며 브랜치 이름과 파일은 예시입니다.

수정 전에는 현재 브랜치를 확인하고, 수정 후에는 변경 내용과 실제 동작을 검토하세요. “form-fix의 변경을 main과 비교해서 보여 줘”라고 AI에게 요청할 수도 있어요. 합치기 전에 다른 변경과 충돌하지 않는지 확인하고, 합친 뒤에도 신청 기능을 다시 실행해 봐요.

헷갈리기 쉬운 점

브랜치를 만들면 파일도 별도 폴더에 복사되나요?

일반적으로 같은 작업 폴더에서 브랜치를 전환하면 그 브랜치에 맞게 파일 내용이 바뀌어요. 별도 폴더가 자동으로 생기는 것은 아니에요. 여러 작업의 파일을 동시에 열어 두고 싶다면 Git의 Worktree 같은 기능을 사용할 수 있어요.

아직 커밋하지 않은 수정은 브랜치를 바꿀 때 따라가거나, 전환을 막을 수 있어요. 브랜치 이름만으로 작업이 완전히 분리됐다고 판단하지 말고 작업 폴더의 변경 상태도 확인하세요. 브랜치를 만들었다고 원격 저장소에 올라가거나 사이트가 자동으로 배포되는 것은 아니에요.

왜 알아야 할까요?

AI가 만든 실험적인 수정과 기존 기준 상태를 나눠 검토할 수 있어요. 현재 브랜치와 변경 상태를 확인하면 엉뚱한 작업을 main에 합치는 실수를 줄일 수 있어요.

조금 더 자세히

커밋은 변경된 프로젝트 상태를 기록하고, 브랜치는 그런 커밋 중 하나를 가리킵니다. 현재 브랜치에서 새 커밋을 만들면 해당 브랜치가 새 커밋을 가리키도록 이동합니다. main도 특별한 저장 방식이 아니라 관례적으로 쓰는 브랜치 이름입니다.

다른 브랜치의 변경을 현재 브랜치에 합치는 작업을 병합이라고 합니다. 같은 부분을 다르게 수정했다면 충돌을 해결해야 할 수 있습니다. 자동으로 합쳐졌더라도 기능이 함께 잘 동작하는지 확인해야 합니다.

브랜치의 기록은 내 컴퓨터에만 있을 수도 있습니다. 원격 저장소로 보내는 푸시, 검토를 요청하는 풀 리퀘스트, 사이트에 반영하는 배포는 각각 별도의 작업입니다. 팀과 프로젝트 설정에 따라 이 과정이 자동으로 이어질 수도 있습니다.

직접 사용할 때 확인해 보세요

  • 현재 브랜치와 커밋하지 않은 변경을 확인한다
  • 기준 브랜치와 변경 내용을 비교한다
  • 병합 후 실제 기능을 다시 확인한다

관계 지도

브랜치(Branch) 중심으로 관련 개념의 정의와 관계를 한눈에 정리했습니다.
브랜치(Branch)의 정의와 관련 개념 간 관계를 설명한 계층형 그래프