0Pricing
Frontend Academy · 강의

브랜치: branch, checkout, merge

기능 브랜치를 만들고 브랜치 사이를 전환하며, 브랜치를 main에 병합하고 간단한 병합 충돌을 해결합니다.

브랜치: branch, checkout, merge은(는) CoddyKit의 무료 Frontend Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Frontend Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Frontend Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

브랜치가 필요한 이유

브랜치를 사용하면 여러 기능과 버그 수정을 서로 방해하지 않고 동시에 개발할 수 있습니다. main(또는 master)은 안정적으로 유지하고, 진행 중인 작업은 기능 브랜치에서 진행합니다.

브랜치 목록 확인 및 생성

git branch는 브랜치 목록을 표시합니다. git branch name은 새 브랜치를 생성합니다. 새 브랜치는 현재 커밋에서 시작합니다.

git branch             # list all branches
git branch feature/auth # create a new branch
git branch -d feature/auth # delete merged branch

브랜치 전환

git checkout branchname은 기존 브랜치로 전환합니다. git checkout -b branchname은 한 단계로 브랜치를 생성하고 전환합니다. 최신 방식은 git switch입니다.

git checkout main           # switch to main
git checkout feature/auth   # switch to existing branch
git checkout -b hotfix/nav  # create + switch

# Modern (git 2.23+):
git switch main
git switch -c feature/auth

일반적인 브랜치 작업 흐름

1) main으로 전환합니다. 2) 최신 변경 사항을 가져옵니다. 3) 기능 브랜치를 생성합니다. 4) 커밋을 생성합니다. 5) main에 다시 병합합니다. 6) 기능 브랜치를 삭제합니다.

git switch main
git pull
git switch -c feature/dark-mode
# ... make commits ...
git switch main
git merge feature/dark-mode
git branch -d feature/dark-mode

브랜치 병합

git merge branchname은 지정한 브랜치의 변경 사항을 현재 브랜치에 반영합니다. Git은 자동으로 병합을 시도합니다. 이력이 깔끔하게 이어질 때 빨리 감기 병합이 수행됩니다.

git switch main
git merge feature/auth
# Fast-forward: no merge commit if history is linear

병합 커밋

두 브랜치의 이력이 서로 갈라진 경우 Git은 부모 커밋이 두 개인 병합 커밋을 생성합니다. 이렇게 하면 두 개발 흐름의 전체 이력이 보존됩니다.

병합 충돌

두 브랜치에서 같은 파일이 변경되면 Git은 자동으로 병합할 수 없으며 충돌을 표시합니다. 파일을 편집하여 충돌을 해결한 다음 커밋합니다.

<<<<<<< HEAD
const COLOR = 'blue';
=======
const COLOR = 'red';
>>>>>>> feature/theming

// After resolving:
const COLOR = 'navy'; // your decision

git add styles.css
git commit

git rebase — 선형 이력

git rebase main은 최신 main 위에 브랜치의 커밋을 다시 적용하여 병합 커밋 없이 선형 이력을 만듭니다. 병합하기 전에 기능 브랜치에 사용하고, 공유 브랜치에는 리베이스를 사용하지 마십시오.

git switch feature/auth
git rebase main  # replay commits on top of current main

HEAD — 현재 위치

HEAD는 현재 브랜치의 끝을 가리키는 포인터입니다(또는 분리된 HEAD 상태에서는 특정 커밋을 가리킵니다). git log는 HEAD의 위치를 보여 줍니다. HEAD~1은 이전 커밋이고, HEAD~3은 세 단계 전의 커밋입니다.

진행 중인 작업 스태시하기

git stash는 커밋하지 않은 변경 사항을 저장하고 깨끗한 작업 트리로 되돌립니다. 완료되지 않은 작업을 커밋하지 않고 브랜치를 전환해야 할 때 사용합니다. git stash pop은 저장한 변경 사항을 복원합니다.

git stash           # save WIP
git switch hotfix/urgent
# ... fix and commit ...
git switch feature/auth
git stash pop       # restore WIP

브랜치 명명 규칙

일반적인 패턴은 feature/feature-name, fix/bug-description, hotfix/critical-fix, chore/dependency-update입니다. 일관된 이름을 사용하면 브랜치 목록을 읽기 쉬워집니다.

빠른 확인

새 브랜치를 생성하고 동시에 해당 브랜치로 전환하는 명령은 무엇인가요?

요약: Git 브랜치

git branch는 브랜치를 생성합니다. git checkout/switch는 브랜치를 전환합니다. git merge는 변경 사항을 통합합니다. 표시자 블록을 편집하여 충돌을 해결합니다. git stash는 WIP를 저장합니다. git rebase는 선형 이력에 사용합니다. 모든 새 작업에는 기능 브랜치를 사용하고 main은 안정적으로 유지하십시오. 병합한 브랜치는 삭제하여 목록을 깔끔하게 유지하십시오.

자주 묻는 질문

“브랜치: branch, checkout, merge” 강의는 무료인가요?

네 — “브랜치: branch, checkout, merge” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Frontend Academy 강의 전체를 잠금 해제할 수 있습니다. Frontend Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“브랜치: branch, checkout, merge”에서 뭘 배우나요?

기능 브랜치를 만들고 브랜치 사이를 전환하며, 브랜치를 main에 병합하고 간단한 병합 충돌을 해결합니다. 브라우저에서 직접 실행하는 실습 코드로 Frontend Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Frontend Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Frontend Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“브랜치: branch, checkout, merge” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Frontend Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Frontend Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. git init, add, commit, status
  2. 브랜치: branch, checkout, merge
  3. 원격 저장소: push, pull, clone
  4. GitHub의 풀 리퀘스트 작업 흐름
← Frontend Academy(으)로 돌아가기