Git에서 커밋 체리 선택
‘cherry-pick’은 Git을 사용하는 동안 다양한 시나리오에서 놀랍고 매우 유용한 매우 유용한 명령입니다. Git에서 cherry-pick
명령을 사용하면 한 분기에서 현재 HEAD
분기로 정렬 및 분리된 커밋을 결합할 수 있습니다.
특정 브랜치에서 커밋을 선택하여 다른 브랜치로 옮기는 것으로 설명할 수 있습니다. 이 명령은 해당 분기의 변경 사항을 취소하는 데 유용할 수 있습니다. 예를 들어 커밋이 실수로 원하지 않는 분기로 푸시된 경우입니다. 원하는 브랜치로 전환하고 실수로 원하는 브랜치가 있어야 하는 위치에 커밋하는 체리픽을 선택할 수 있습니다.
Git cherry-pick
은 언제 사용합니까?
Git cherry-pick
은 강력한 도구이지만 항상 최선의 선택은 아닙니다. 이 명령을 사용하여 커밋을 HEAD
분기에 결합할 때 중복 커밋을 쉽게 만들기 때문에 일반적이지 않은 cherry-pick
를 적용해야 합니다.
Git은 마지막 커밋과 동일한 요구 사항으로 새 커밋을 만드는 역할을 합니다. Git cherry-pick
은 실수로 잘못된 분기에 새 변경 사항을 커밋하고 원격 저장소로 푸시한 시나리오에서 사용해야 합니다.
원격 리포지토리로 푸시한 후 푸시된 커밋이 특정 분기를 푸시할 필요가 없다는 것을 깨달았습니다. 따라서 Git cherry-pick
명령을 사용하여 고유한 ID로 해당 커밋을 선택하고 올바른 위치로 전송해야 합니다. 나뭇가지.
결합을 위해 전통적인 Merge 또는 Rebase를 적용할 기회가 있을 때마다 cherry-pick
는 병합 또는 rebase가 적용되지 않는 드문 경우를 위해 예약되어야 하기 때문에 cherry-picking
을 고려해야 합니다.
Git cherry-pick
명령
잘못된 브랜치에서 수행한 커밋에서 현재 HEAD
브랜치로 결합하려는 커밋만 지정하면 됩니다. et12x8iu
는 현재 브랜치에서 이를 결합하기 위해 지정해야 하는 커밋 ID입니다.
다음은 잘못된 커밋을 새로운 최신 커밋으로 전송하는 명령입니다.
$ git cherry-pick et12x8iu
이런 식으로 현재 체크아웃된 브랜치에 지정된 수정본을 직접 커밋합니다.
작업에 약간의 수정이 더 필요하다고 가정해 보겠습니다. 이 경우 Git 명령을 사용하여 직접 커밋하지 않고 기본 작업 복사본에 대한 커밋 변경 사항만 포함할 수도 있습니다. 이렇게 하면 수정된 작업 복사본에 직접 들어가고 요구 사항에 따라 파일을 수정할 수 있습니다.
다음은 작업 디렉토리에 잘못된 커밋을 가져오는 명령입니다.
$ git cherry-pick et12x8iu --no-commit
Git에서 삭제된 커밋 복원 및 변경 사항 실행 취소
때로는 기능 분기
에 약간의 복잡성이 있어 현재 분기
로 결합되지 않으며 때로는 다른 작업 요구 사항으로 인해 병합하지 않고 풀 요청이 중지될 수 있습니다.
Git의 특별한 기능은 커밋을 절대 추적하지 않는다는 것입니다. 그리고 git log
및 git reflog
와 같은 일부 명령을 통해 커밋을 다시 추적하고 처음에 있어야 했던 위치로 cherry-pick
할 수 있습니다. 장소.
git merge
또는 git-rebase
대신 cherry-pick
옵션을 사용해서는 안 된다고 말할 수 있습니다. git log
명령을 적용하여 특정 분기에서 체리 선택 커밋을 정렬할 수 있습니다.
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