본문 바로가기
개발도구/Git Github

[Git&Github] Git에서 PR 전에 커밋 정리하는 방법 (리베이스, 체리픽, 브랜치 전략)

by 디스코비스킷 2025. 4. 3.
반응형

Pull Request(PR)를 할 때

의도하지 않은 커밋이나 다른 주제의 커밋 이력이 함께 들어간 경우,

상황에 따라 정리하는 것이 좋다. 

 

1. 커밋 이력이 섞여 있으면 문제가 되는 이유

  • 리뷰어가 의도를 파악하기 어려워짐
  • 기능별 변경 사항 추적이 어려움
  • 히스토리 관리가 지저분해짐
  • 다른 이슈에 대한 코드가 PR에 포함되어 충돌 발생 위험

 

2. 커밋 이력이 섞여 있을 때 해결 방법

커밋 분리 (인터랙티브 리베이스)

git rebase -i HEAD~n  # 최근 n개의 커밋을 인터랙티브하게 수정
  • pick → drop 또는 edit으로 불필요한 커밋을 제거하거나 수정
  • 정리 후 강제 푸시
git push origin 브랜치명 --force

새로운 브랜치에서 필요한 커밋만 cherry-pick

git checkout -b clean-feature
git cherry-pick 커밋ID1 커밋ID2 ...
  • 필요한 커밋만 선택하여 새 브랜치로 정리
  • 해당 브랜치로 PR 생성

다시 PR 생성 (작업을 새로 정리)

  • 복잡하게 꼬였거나 정리가 어려울 경우:
git checkout -b new-feature main
# 필요한 변경만 반영
git push origin new-feature
  • 기존 PR은 닫고, 새 PR로 올리기

 

3. 커밋 정리를 해야할 때는?

상황 정리 권장 여부
개인 프로젝트 선택 사항 (연습해볼 기회)
협업 중인 팀 정리 필수
오픈소스 기여 정리 필수
커밋 수가 매우 많고 뒤섞임 새 브랜치에서 cherry-pick 추천

 

결론

다른 주제의 커밋이 섞였다면, 정리해서 PR을 올리는 것이 깔끔하고 바람직하다. 

특히 리뷰하는 입장에서 기능 하나에 집중된 커밋/PR을 받는 게 훨씬 이해와 병합이 쉽다.

반응형

최근댓글

최근글

© Copyright 2024 ttutta