Git

Git 고급 명령어 ✅ Rebase, Cherry-pick, Stash

jonbeo 2025. 11. 13. 11:38
반응형

 

 

Git은 단순한 버전 관리 도구가 아니라,
시간을 되돌리고, 수정 내역을 재정렬하고, 다른 브랜치에서 필요한 커밋만 뽑아올 수 있는 아주 강력한 시스템입니다.

이번엔 실무에서 자주 쓰이는 3대 명령어를 깔끔하게 정리해보겠습니다 👇


🌱 1. git rebase – 커밋 이력 정리의 왕

✅ 개념

rebase커밋을 다른 브랜치 위로 옮겨 붙이는 명령입니다.
즉, 브랜치의 시작점을 새로 정리해서 커밋 히스토리를 깔끔하게 만듭니다.

📌 예시

 
# main 브랜치 최신 커밋으로 feature 브랜치 재배치
git checkout feature
git rebase main

 

👉 결과:
main의 최신 커밋 이후에 feature 커밋들이 재정렬됨.

 

📌 주의: 이미 공유된 브랜치(rebase 후 push) 는 충돌을 유발할 수 있음.
→ 팀 협업에서는 개인 브랜치에서만 사용 권장!


🍒 2. git cherry-pick – 특정 커밋만 골라오기

✅ 개념

다른 브랜치의 특정 커밋 1개만 가져올 때 사용.
필요한 코드만 “체리처럼 쏙” 뽑아서 적용하는 명령어 🍒

📌 예시

 
# 다른 브랜치의 커밋 해시를 가져오기
git cherry-pick a1b2c3d

 

📌 실무 활용

  • Hotfix를 main 브랜치에만 반영
  • QA 브랜치에서 특정 버그 픽스만 가져오기

🧺 3. git stash – 작업 임시 저장소

✅ 개념

작업 중이던 코드를 임시로 저장하고 원상복귀할 수 있습니다.
브랜치 전환할 때 특히 유용!

📌 예시

 
git stash        # 현재 변경사항 임시 저장
git stash list   # 저장 목록 확인
git stash pop    # 가장 최근 stash 불러오기
git stash apply  # 특정 stash 적용

 

📌 실무 팁

  • “커밋하기엔 애매한 상태”일 때 임시 저장
  • 브랜치 전환(git checkout) 전에 stash 필수

🧩 추가 명령어 꿀팁

명령어 설명
git rebase -i HEAD~3 최근 3개 커밋을 수정/합치기 (interactive rebase)
git cherry-pick -n 여러 커밋 선택 후 한 번에 커밋하기
git stash save "메시지" stash에 메모 추가
git stash clear stash 전부 삭제

⚡ 실무 예시 시나리오

🧠 “main에 급한 버그가 있어서 hotfix 브랜치에서 수정했는데, dev에도 반영해야 함”

 

1️⃣ hotfix 브랜치에서 수정 후 커밋
2️⃣ dev 브랜치로 이동
3️⃣ git cherry-pick {hotfix 커밋 해시}
✅ 동일한 수정이 dev에도 반영됨


🧠 마무리 정리

명령어 역할 실무 사용 포인트
rebase 커밋 이력 재정렬 개인 브랜치 정리용
cherry-pick 특정 커밋 가져오기 hotfix, 버그픽스
stash 임시 저장 브랜치 전환 시 안전하게

👉 이 3개만 잘 써도 Git 레벨이 한 단계 상승합니다.

반응형