Git

Git > Branch > 특정 브랜치에서 일부 코드만 배포 필요한 경우

Krevis 2025. 11. 5. 07:15

예를 들어 b1 브랜치에서 m1, m2 모듈의 코드 수정이 발생했는데, 이번 배포에서 m2 모듈만 배포가 필요한 경우가 있을 수 있다. 이 경우, b1 브랜치를 배포하면 문제가 되기 때문에 m2 모듈의 코드 수정분만 담긴 b2 브랜치를 만들어야 한다

 

cherry-pick으로 필요한 커밋만 따오기

기존 커밋 이력 유지 가능

 

  1. b1 브랜치에서 커밋 이력 확인
    • git log --oneline
    • m2 모듈 관련 커밋 ID를 확인한다
  2. develop에서 새 브랜치 생성
    1. git checkout develop
    2. git pull
    3. git checkout -b feature/b2
  3. m2 모듈 관련 커밋만 cherry-pick
    • git cherry-pick abc123 def456

IntelliJ IDEA에서 하는 법

  1. develop에서 새 브랜치 생성(feature/b2)
  2. cherry-pick
    1. Git 탭(View → Tool Windows → Git) > Log 탭 클릭
    2. 좌측 브랜치 목록에서 feature/b1 더블 클릭
    3. 우측 커밋 이력에서 원하는 커밋들 선택 후 우클릭 > Cherry-Pick (즉시 커밋된다)

 

git diff로 특정 파일만 추출

만약 커밋 단위가 섞여 있거나 정리가 안 되어 있다면 이 방식 사용

  1. develop에서 새 브랜치 생성
    1. git checkout develop
    2. git pull
    3. git checkout -b feature/b2
  2. 기존 feature 브랜치에서 m2 모듈 관련 코드만 가져오기
    • git checkout feature/b1 -- path/to/specific-module/

IntelliJ IDEA에서 하는 법

  1. develop에서 새 브랜치 생성
  2. Git Branch 목록에서 feature/b1 브랜치 클릭 > Show Diff with Working Tree 선택
  3. 필요한 코드만 선택 후 우클릭 > Get from Branch

 

'Git' 카테고리의 다른 글

Git > 환경 설정  (0) 2024.01.30