Git에서 Cherry-Pick을 사용한 다중 커밋
-
Git의
Git merge
와Git Cherry-Pick
명령의 차이점 -
Git의
Cherry-picking
버그 수정 커밋 -
Git에서 여러
Cherry-picking
커밋 -
Rebase
명령을 사용하여 Git의 특정 분기에서 원하는 변경 사항 선택
분기 작업을 완료한 후 일반적으로 기존 파일에 병합
할 필요가 없습니다.
우리는 종종 특정 브랜치에서 모든 커밋을 처리하기보다 다른 브랜치에서 몇 가지 특정 커밋을 가져와야 합니다. 이것이 Git에서 git-cherry pick
명령을 사용하는 이유입니다.
Git의 Git merge
와 Git Cherry-Pick
명령의 차이점
git merge
는 git cherry-pick
명령과 같습니다. Git cherry-pick
명령은 다른 분기에서 원하는 분기로 변경 사항을 동화하는 데 사용됩니다.
merge
명령을 사용하는 동안 일반적으로 다른 분기에서 수행된 모든 변경 사항을 원하는 것으로 동화할 수 있습니다.
그러나 다른 한편으로, 때때로 우리는 원하는 브랜치에서 약간의 변경만 필요합니다. 그리고 이를 위해 Git cherry-pick
명령이 가장 안전한 옵션입니다.
Git의 Cherry-picking
버그 수정 커밋
Cherry-picking
은 일반적으로 버그 수정을 이전 버전의 소프트웨어로 업데이트하는 것으로 설명할 수 있습니다. 즉, 특정 분기의 수백 가지 버그 수정에서 일부 명시적인 버그 수정 커밋만 가져오는 것을 의미합니다.
그런 다음 어떤 이유로든 나중에 해당 특정 버그 수정 커밋을 사용하세요. 이 명령문이나 명령은 팀이 프로덕션 또는 라이브 웹 또는 데스크탑 애플리케이션에서 몇 가지 중요한 버그를 수정하려는 경우에 주로 사용됩니다.
팀은 이 명령을 사용하여 릴리스를 준비하고 프로덕션 또는 라이브 환경에 배포합니다.
Git에서 여러 Cherry-picking
커밋
어떤 경우에는 다른 브랜치에서 동시에 여러 커밋에 cherry-pick
를 적용하고 싶습니다. 그런 다음 먼저 두 커밋을 모두 식별하고 이에 대해 다음 명령을 사용해야 합니다.
그 후, 다음 명령에서 아래와 같이 A 및 B 분기 사이에 점 표기법을 사용하여 여러 커밋에서 cherry-picking
을 수행할 수 있습니다.
$ git cherry-pick A..B
이 명령을 적용한 후 commit A
는 cherry-pick
에 동화되지 않습니다.
commit A
도 동화하기 위해 다음 구문을 사용할 수 있습니다.
$ git cherry-pick A^..B
Commit A
는 commit B
보다 오래된 것이어야 합니다. 이 순서가 완벽하지 않으면 사용된 명령은 실패하고 위에서 설명한 조건에 따라 사용해야 합니다.Rebase
명령을 사용하여 Git의 특정 분기에서 원하는 변경 사항 선택
Git의 rebase
명령을 사용하여 특정 분기에서 원하는 변경 사항이나 커밋을 선택하는 또 다른 방법이 있습니다. 이 방법에서 onto
옵션을 사용하여 명령을 rebase
할 수 있습니다.
두 가지 유형의 경우 git rebase --onto
를 사용할 수 있습니다.
- 첫 번째 조건은 저장소에서 상위 분기를 교체하려는 분기가 있다는 것입니다.
- 둘째, 저장소의 현재 분기에서 일부 커밋을 즉시 제거하고 싶습니다.
우리 branch
가 D
에서 끝나는 분기이고 이것이 C
-Y
를 이동하려는 원하는 분기라고 가정해 보겠습니다.
git reset --hard Y
git rebase --onto A B
특정 지점에서 시작하거나 원하는 커밋으로 커밋하는 데 도움이 됩니다. 우리는 리베이스할 대상과 특정 브랜치 커밋에서 리베이스할 위치를 완벽하게 관리할 수 있습니다.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn