예를 들어 b1 브랜치에서 m1, m2 모듈의 코드 수정이 발생했는데, 이번 배포에서 m2 모듈만 배포가 필요한 경우가 있을 수 있다. 이 경우, b1 브랜치를 배포하면 문제가 되기 때문에 m2 모듈의 코드 수정분만 담긴 b2 브랜치를 만들어야 한다
cherry-pick으로 필요한 커밋만 따오기
기존 커밋 이력 유지 가능
- b1 브랜치에서 커밋 이력 확인
- git log --oneline
- m2 모듈 관련 커밋 ID를 확인한다
- develop에서 새 브랜치 생성
- git checkout develop
- git pull
- git checkout -b feature/b2
- m2 모듈 관련 커밋만 cherry-pick
- git cherry-pick abc123 def456
IntelliJ IDEA에서 하는 법
- develop에서 새 브랜치 생성(feature/b2)
- cherry-pick
- Git 탭(View → Tool Windows → Git) > Log 탭 클릭
- 좌측 브랜치 목록에서 feature/b1 더블 클릭
- 우측 커밋 이력에서 원하는 커밋들 선택 후 우클릭 > Cherry-Pick (즉시 커밋된다)
git diff로 특정 파일만 추출
만약 커밋 단위가 섞여 있거나 정리가 안 되어 있다면 이 방식 사용
- develop에서 새 브랜치 생성
- git checkout develop
- git pull
- git checkout -b feature/b2
- 기존 feature 브랜치에서 m2 모듈 관련 코드만 가져오기
- git checkout feature/b1 -- path/to/specific-module/
IntelliJ IDEA에서 하는 법
- develop에서 새 브랜치 생성
- Git Branch 목록에서 feature/b1 브랜치 클릭 > Show Diff with Working Tree 선택
- 필요한 코드만 선택 후 우클릭 > Get from Branch
'Git' 카테고리의 다른 글
| Git > 환경 설정 (0) | 2024.01.30 |
|---|