작성일: 2026. 3. 24.
“특정 커밋으로 이동”과 “특정 커밋의 변경만 현재 브랜치로 가져오기”는 목적이 다릅니다. 전자는 주로 checkout/switch 계열, 후자는 cherry-pick입니다.
작업 트리를 과거 커밋 상태로 맞추고 그 위에서 보거나, 임시로 분기하고 싶을 때 사용합니다. 브랜치 포인터를 옮기면 이후 히스토리와의 관계가 바뀌므로 공유 브랜치에서는 주의가 필요합니다.
# 예: 커밋 해시로 분리된 HEAD 상태로 보기(읽기 위주)
git switch --detach abc1234
# 다시 브랜치로 복귀
git switch main
이미 공개된 브랜치를 과거 커밋으로 되돌리려면 reset --hard 대신 revert를 검토하는 편이 협업에 안전합니다.
다른 브랜치에 있는 선택한 커밋의 패치만 현재 브랜치 끝에 새 커밋으로 적용합니다. 히스토리를 과거로 돌리지 않고, 필요한 수정만 main 등에 반영할 때 씁니다.
git switch release
git cherry-pick def5678
cherry-pick A^..B 범위 문법으로 묶을 수 있으나 충돌 시 이해가 필요합니다.