반응형

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 레벨이 한 단계 상승합니다.
반응형
'Git' 카테고리의 다른 글
| GitHub Actions ✅ CI/CD 자동화 배포 워크플로우 만들기 (0) | 2025.11.07 |
|---|---|
| Git ✅ 협업에서 자주 쓰는 rebase, cherry-pick, stash (0) | 2025.10.20 |
| Git 브랜치 전략 완벽 비교! Git Flow vs GitHub Flow 어떤 걸 선택해야 할까? (0) | 2025.10.08 |
| Git 브랜치 전략 – Git Flow vs Trunk Based 차이와 선택 가이드 (0) | 2025.10.01 |
| GitHub Actions 완전 기초! 자동화부터 배포까지 한눈에 배우기 (0) | 2025.07.15 |