깃 체리픽 정말 쉽게 정리!!!
2025. 8. 6. 13:20ㆍGit
728x90
📜 Git Cherry-pick 완전 정리
🧠 무엇인가?
**git cherry-pick**은
다른 브랜치의 특정 커밋만 골라서
현재 브랜치에 적용하는 명령이옵니다.
🛤️ 언제 쓰는가?
- 어떤 브랜치에 들어있는 일부 커밋만 따로 가져오고 싶을 때
- PR 없이 특정 기능만 긴급 반영하고자 할 때
- 복잡한 브랜치 내에서 특정 기능만 정제하여 재사용하고자 할 때
🪜 전체 절차
✅ 1단계. 적용할 커밋 해시 확인
git log branch-name --oneline
예: git log feature/abc --oneline
→ 원하는 커밋의 해시값을 복사 (예: 8ee796e)
✅ 2단계. 적용 대상 브랜치로 이동
git checkout target-branch
예: git checkout main
또는 새 브랜치를 만들어 정제 작업 가
git checkout -b feat/clean-pick
✅ 3단계. cherry-pick 실행
일반 커밋
git cherry-pick <commit-hash>
예
git cherry-pick <commit-hash>
여러 개 한 번에
git cherry-pick <hash1> <hash2> ...
연속된 범위
git cherry-pick a1b2c3^..d4e5f6
병합 커밋 (Merge Commit)
git cherry-pick -m 1 <merge-commit-hash>
-m 1: 첫 번째 부모(기준 브랜치 기준)
-m 2: 두 번째 부모(머지된 쪽 기준)
✅ 4단계. 충돌 발생 시 처리
충돌 메시지가 뜨면:
error: could not apply <hash>
🔧 다음을 순서대로 수행
# 1. 충돌난 파일 수정
# 2. 수정한 파일 스테이징
git add <파일경로>
# 3. cherry-pick 계속
git cherry-pick --continue
❌ 중단하고 싶으면
git cherry-pick --abort
✅ 5단계. 적용 결과 확인
git log --oneline
cherry-pick된 커밋이 맨 위에 있으면 성공
✅ 6단계. 원격 푸시
git push origin <브랜치이름>
git push -u origin <브랜치이름>
🧭 예시 시나리오
상황:
- 기능 브랜치 feature/anomaly 에서
- 커밋 b3b2474와 8ee796e만
- 정제된 새 브랜치 feat/clean-insight-init으로 가져오고자 함
# 1. 기준 브랜치에서 새 브랜치 생성
git checkout base
git checkout -b feat/clean-insight-init
# 2. 병합 커밋 cherry-pick (병합인 경우)
git cherry-pick -m 1 b3b24747cdfaa7b1cfcf42ab73edee071145e07c
# 3. 개별 커밋도 따로
git cherry-pick 8ee796eeade8b2549765b949cb80d4ae3ea65fb7
# 4. 충돌 시 해결 → git add → git cherry-pick --continue
# 5. 원격 푸시
git push -u origin feat/clean-insight-init
🔚 결론
| 일반 커밋 하나 가져오기 | git cherry-pick <해시> |
| 병합 커밋 가져오기 | git cherry-pick -m 1 <해시> |
| 충돌 해결 후 계속 | git cherry-pick --continue |
| 중단하고 취소 | git cherry-pick --abort |
| 푸시 | git push origin <브랜치> |
728x90
'Git' 카테고리의 다른 글
| git merge 하는 방법 정리 (0) | 2025.09.12 |
|---|---|
| git 커밋시 특정 파일을 제외하고 싶을 때 (0) | 2025.09.08 |
| 서브모듈이란? (0) | 2025.06.30 |
| [Git] 깃 저장소에서 여러 디렉토리 관리하려고 하고 하는데 어떤 디렉토리에 -> 표시가 생기고 해당 디렉토리가 들어가지 않는 문제 (0) | 2025.01.11 |
| [git] 서브모듈 해쉬 커밋 충돌 날 때 충돌 해결 편법 (0) | 2024.12.10 |