Skip to content

IT의 모든것

개발 하는 사람들에게 도움이 될 만한 정보를 제공합니다.

Menu
Menu

Git 브랜치 생성부터 삭제까지: 실무 명령어 5분 완벽 정리

Posted on 2026년 10월 06일2026년 10월 05일 by steve

 

Git 브랜치, 매번 명령어 검색하느라 번거로우셨나요? 생성부터 전환(switch), 병합(merge), 안전한 로컬 및 원격 삭제까지 실무에서 꼭 쓰는 핵심 명령어와 충돌 해결 팁을 한 번에 정리해 드립니다!

 

개발 프로젝트를 처음 시작하거나 협업에 들어갈 때, 가장 긴장되는 순간 중 하나가 바로 Git 브랜치를 다루는 순간이 아닐까 싶어요. 저도 예전에 메인 브랜치(main)에서 직접 코드를 수정하다가 커밋이 엉망진창으로 꼬여서 밤을 새워 복구했던 아찔한 기억이 있거든요. 땀을 뻘뻘 흘리며 “아, 브랜치를 미리 따서 작업할걸!” 하고 크게 후회했었죠. 😅

Git에서 브랜치는 일종의 ‘독립된 평행 우주 작업 공간’이에요. 원본 코드를 건드리지 않고도 새로운 기능을 마음껏 실험해볼 수 있는 안전장치인 셈이죠. 오늘은 깃 초보자부터 실무 개발자까지 두고두고 복사해서 바로 써먹을 수 있는 Git 브랜치 생성, 이동, 병합, 삭제 명령어를 아주 친절하고 알기 쉽게 총정리해 드리겠습니다. 천천히 따라와 보세요!

 

1. Git 브랜치 확인 및 조회 명령어 🌿

새로운 브랜치를 만들기 전에 가장 먼저 해야 할 일은 현재 어떤 브랜치들이 존재하고, 내가 지금 머무르고 있는 위치(HEAD)가 어디인지 확인하는 일이에요. 내비게이션을 켤 때 현 위치를 먼저 잡는 것과 똑같답니다.

터미널에서 아래 명령어를 입력하면 로컬 저장소에 저장된 모든 브랜치 목록이 나타나요. 현재 작업 중인 브랜치 앞에는 초록색 별표(*)가 붙어서 표시됩니다.

📋 브랜치 조회 핵심 명령어

git branch : 로컬 저장소의 브랜치 목록만 확인합니다.

git branch -r : 원격(Remote, 예: GitHub) 저장소의 브랜치 목록을 확인합니다.

git branch -a : 로컬과 원격의 모든 브랜치를 한 번에 조회합니다.

git branch -v : 각 브랜치의 마지막 커밋 메시지까지 함께 상세히 보여줍니다.

💡 알아두세요!
새로운 브랜치를 생성하기 전에는 항상 git branch를 먼저 입력해 현재 브랜치 위치를 확인하세요. 엉뚱한 브랜치를 기반으로 새 가지를 치면 나중에 브랜치 계통도가 꼬여서 합칠 때 엄청난 충돌이 발생할 수 있습니다.

 

2. 브랜치 생성과 전환: checkout vs switch 🔀

예전에는 브랜치를 변경할 때 누구나 git checkout 명령어를 썼어요. 그런데 이 명령어는 파일 변경 사항을 되돌리는 기능(복원)과 브랜치를 전환하는 기능이 뒤섞여 있어 혼란스러웠거든요. 그래서 Git 2.23 버전부터는 브랜치 전환 전용 명령어로 git switch가 새로 도입되었답니다.

솔직히 말씀드리면, 지금은 직관적이고 안전한 switch를 적극적으로 사용하시는 것을 강력하게 추천해 드려요!

브랜치 생성 및 전환 방식 비교표

작업 목적 권장 명령어 (Git 최신) 기존 명령어 상세 설명
브랜치만 생성 git branch [이름] git branch [이름] 새 브랜치를 만들지만 해당 브랜치로 이동하진 않음
브랜치 이동 git switch [이름] git checkout [이름] 지정한 기존 브랜치로 작업 위치를 전환
생성 후 즉시 이동 git switch -c [이름] git checkout -b [이름] 실무에서 가장 많이 쓰는 ‘생성+전환’ 단축키
원격 브랜치 가져오기 git switch -t origin/[이름] git checkout -t origin/[이름] 원격 브랜치를 트래킹하며 동일한 이름으로 로컬 생성
⚠️ 주의하세요!
작업 중인 파일에 아직 커밋하지 않은 변경 내용이 남아있다면 브랜치 전환 시 충돌이 나거나 에러 메시지가 뜰 수 있습니다. 반드시 git commit으로 저장하거나, 임시 저장을 지원하는 git stash 명령어를 실행한 후에 브랜치를 전환해야 안전합니다.

 

3. 브랜치 병합(Merge)과 충돌 대처법 🤝

새로운 기능 개발이나 버그 수정을 마쳤다면, 이제 메인 줄기(보통 main 또는 develop)로 작업 내용을 합쳐야겠죠? 이 과정을 바로 Merge(병합)라고 불러요.

📝 브랜치 병합 기본 공식

기준 브랜치로 이동(git switch main) ➔ 대상 브랜치 흡수(git merge feature/login)

병합할 때 가장 헷갈리는 부분이 바로 ‘어디로 가서 명령어를 쳐야 하는가’인데요, 쉽게 외우는 꿀팁을 드릴게요. “내가 서 있는 곳으로 다른 브랜치를 끌어당긴다”고 생각하시면 됩니다. main 브랜치에 기능 브랜치를 넣고 싶다면, 먼저 main으로 이동한 다음 merge를 실행하는 것이죠.

1) 병합의 기준이 될 브랜치로 이동: git switch main

2) 작업했던 기능 브랜치 병합: git merge feature/signup

→ 별다른 충돌이 없다면 Fast-forward 방식으로 깔끔하게 자동 병합이 완료됩니다.

만약 서로 다른 브랜치에서 같은 파일의 같은 라인을 수정했다면 충돌(Conflict)이 발생해요. 이때 겁먹을 필요는 전혀 없어요! 충돌이 발생한 파일로 들어가서 <<<<<<< HEAD와 ======= 사이의 코드 중 남길 코드를 직접 고르고 저장한 뒤, git add [파일명]과 git commit을 차례로 실행해 주시면 해결됩니다.

 

4. 실시간 Git 브랜치 명령어 생성기 🔢

매번 옵션 플래그(-c, -d, -D, -t)가 헷갈리셨던 분들을 위해 준비했어요. 원하는 작업과 브랜치 이름을 고르면 실행해야 할 정확한 Git 명령어를 즉시 만들어 드립니다!

🔢 Git 명령어 도우미

작업 종류:

브랜치 이름:

실행할 터미널 명령어:

 

5. 브랜치 삭제(로컬 & 원격)와 깔끔한 정리 🧹

기능 개발이 끝나고 메인 브랜치에 병합까지 마쳤다면, 이제 수명이 다한 브랜치를 정리해 줄 차례예요. 오래된 브랜치를 그대로 방치하면 나중에 수십 개의 브랜치가 쌓여 협업 시 큰 혼란을 일으키거든요.

브랜치 삭제는 로컬 브랜치 삭제와 원격(GitHub) 브랜치 삭제의 두 가지 과정으로 나뉩니다.

🗑️ 브랜치 삭제 명령어 모음

1) 로컬 브랜치 안전 삭제: git branch -d [브랜치명]
(메인에 성공적으로 병합된 브랜치만 안전하게 삭제하며, 아직 병합되지 않은 코드가 있다면 경고와 함께 삭제를 거부합니다.)

2) 로컬 브랜치 강제 삭제: git branch -D [브랜치명]
(실험용으로 만들었다가 실패해서 코드를 버릴 때 사용합니다. 병합 여부와 상관없이 무조건 즉시 삭제합니다.)

3) 원격 저장소 브랜치 삭제: git push origin --delete [브랜치명]
(GitHub나 GitLab 상에 올라가 있는 원격 브랜치를 삭제합니다.)

4) 삭제된 원격 브랜치 로컬 동기화: git fetch -p (또는 git fetch --prune)
(원격에서 다른 동료가 이미 삭제한 브랜치 정보 찌꺼기를 로컬 목록에서 말끔히 지워줍니다.)

📌 알아두세요!
자신이 현재 위치해 있는 브랜치는 삭제할 수 없습니다! 예를 들어 feature/login 브랜치를 지우려면 먼저 git switch main을 통해 메인 브랜치로 빠져나온 후 삭제 명령어를 입력해야 오류가 나지 않습니다.

 

실전 예시: 기능 개발부터 브랜치 삭제까지의 사이클 📚

실제 현업에서 회원가입 기능(feature/signup)을 처음 개발하고 메인 브랜치에 합친 뒤 정리하는 전체적인 흐름을 시뮬레이션해 볼게요. 이 순서만 기억해 두시면 협업 시 실수할 확률이 0%로 줄어듭니다!

시나리오: 회원가입 기능 개발 프로세스

  • 기능 요구사항: 새로운 회원가입 UI 및 유효성 검사 로직 구현
  • 작업 브랜치명: feature/signup

실제 터미널 실행 단계

1) 최신 메인 브랜치에서 새 기능 브랜치 생성 및 이동:
git switch main ➔ git pull ➔ git switch -c feature/signup

2) 파일 작업 후 커밋 및 원격에 푸시:
git add . ➔ git commit -m "feat: 회원가입 기능 구현 완료" ➔ git push -u origin feature/signup

3) 메인으로 돌아와 병합(Merge) 진행:
git switch main ➔ git merge feature/signup ➔ git push origin main

4) 수명이 다한 브랜치 깔끔하게 삭제:
git branch -d feature/signup (로컬) ➔ git push origin --delete feature/signup (원격)

최종 결과

– 메인 브랜치(main)에 회원가입 기능이 안정적으로 탑재되었습니다.

– 불필요한 작업 브랜치가 로컬과 원격 양쪽에서 제거되어 깔끔한 레포지토리가 유지됩니다.

이 일련의 사이클이 바로 널리 쓰이는 브랜치 전략(Git-flow 또는 GitHub-flow)의 기본 뼈대예요. 처음에는 명령어가 다소 복잡하게 느껴지실 수 있지만, 서너 번만 반복해 보면 손가락이 알아서 기억하게 된답니다. 😊

 

마무리: 핵심 내용 요약 📝

오늘 배운 Git 브랜치 라이프사이클의 4대 핵심 포인트를 다시 한번 요약해 드릴게요.

  1. 현재 위치 확인: 작업 전 git branch로 현재 브랜치를 반드시 확인하자!
  2. 최신 명령어 사용: checkout 대신 직관적인 git switch -c [이름]을 사용하자!
  3. 병합의 기준: 내가 서 있는 곳으로 다른 브랜치를 끌어오는 것이므로 main으로 먼저 이동하자!
  4. 작업 후 청소: -d(안전) 또는 --delete를 통해 다 쓴 브랜치는 제때 삭제하자!
💡

Git 브랜치 실무 핵심 요약

✨ 생성 + 전환: git switch -c [브랜치명] (checkout 대신 switch 적극 권장)
📊 안전한 병합: git switch main ➔ git merge [브랜치명]
🧮 삭제 공식:

로컬 삭제 = git branch -d [명칭] | 원격 삭제 = git push origin –delete [명칭]

🧹 원격 동기화: git fetch -p 로 사라진 원격 브랜치 찌꺼기 완벽 청소

협업 시에는 작업 완료 후 불필요한 브랜치를 제때 정리해 주는 것이 최고의 개발자 매너입니다!

자주 묻는 질문 ❓

Q: 왜 checkout 대신 switch를 쓰는 것이 좋은가요?
A: 기존의 git checkout은 브랜치 전환뿐만 아니라 수정된 파일 내용을 되돌리는 복원 기능까지 겸하고 있어 실수가 잦았습니다. 이를 보완하기 위해 Git 2.23부터 브랜치 이동 전용 명령어인 ‘git switch’와 파일 복원 전용 명령어인 ‘git restore’로 역할이 명확히 분리되었습니다.

Q: 브랜치 삭제 옵션 -d와 -D는 무엇이 다른가요?
A: 소문자 -d는 안전 삭제 옵션으로, 다른 브랜치에 완전히 병합(merge)된 상태일 때만 삭제를 허용합니다. 대문자 -D는 강제 삭제(force delete) 옵션으로, 아직 병합되지 않은 커밋이 있더라도 경고 없이 즉시 영구 삭제합니다.

Q: 원격 브랜치를 삭제했는데 git branch -r에 계속 남아있는 이유는 무엇인가요?
A: 로컬 저장소가 원격 저장소의 최신 변경 상태를 아직 자동으로 동기화하지 못했기 때문입니다. 이럴 때는 터미널에 ‘git fetch -p’ (또는 git fetch –prune) 명령어를 입력하면 원격에서 지워진 브랜치 참조 목록이 로컬에서도 깔끔하게 정리됩니다.

Q: 실수로 필요한 브랜치를 삭제해 버렸는데 복구할 수 있을까요?
A: 네, 복구할 수 있습니다! Git은 HEAD의 모든 이동 이력을 기록하므로 터미널에 ‘git reflog’를 입력해 삭제된 브랜치의 마지막 커밋 해시값을 찾은 뒤, ‘git checkout -b [새브랜치명] [커밋해시]’를 실행하면 삭제 전 상태로 온전히 복구할 수 있습니다.

Q: 커밋하지 않은 작업 내용이 남아있는데 다른 브랜치로 넘어가려면 어떻게 하나요?
A: 임시 보관함 기능인 ‘git stash’ 명령어를 사용하시면 됩니다. 현재 수정 사항을 안전하게 스택에 숨긴 뒤 다른 브랜치로 전환할 수 있으며, 나중에 돌아와서 ‘git stash pop’을 입력하면 작업하던 내용을 그대로 되살려낼 수 있습니다.

지금까지 Git 브랜치의 생성부터 이동, 병합, 그리고 안전한 삭제까지 실무에 필요한 핵심 명령어들을 하나하나 살펴보았습니다. 브랜치를 능숙하게 다룰 수 있게 되면 더 이상 코드 충돌이나 배포 실수로 가슴 졸이지 않고 당당하게 협업할 수 있답니다. 오늘 정리해 드린 치트키를 즐겨찾기해 두고 필요할 때마다 꺼내 써보세요! 더 궁금하거나 터미널에서 막히는 부분이 있다면 언제든지 댓글로 물어봐주세요~ 😊

최신 글

  • 외부 라이브러리 소스 코드 디버깅법: console.log 없이 F11로 파헤치기
  • JetBrains 라이브 템플릿(Live Templates)으로 코딩 속도 2배 올리는 비법
  • console.log 그만! 브레이크포인트와 조건부 중단점으로 버그 10배 빨리 잡는 법
  • 자바와 C# 프로젝트 빌드 속도 70% 단축하는 필수 설정 꿀팁
  • JetBrains에서 Git 완벽 연동하기: 터미널 없이 끝내는 개발 생산성 가이드

보관함

  • 2026년 10월

카테고리

  • IT

소개 및 문의 · 개인정보처리방침 · 면책조항

©2026 IT의 모든것 | Design: Newspaperly WordPress Theme