Git의 한 브랜치에서 다른 브랜치로 변경 사항 복사

John Wachira 2024년2월15일
  1. Git의 한 브랜치에서 다른 브랜치로 변경 사항 복사
  2. 결론
Git의 한 브랜치에서 다른 브랜치로 변경 사항 복사

이 기사에서는 Git의 한 분기에서 다른 분기로 변경 사항을 복사하는 데 사용할 수 있는 두 가지 방법에 대해 설명합니다.

Git의 한 브랜치에서 다른 브랜치로 변경 사항 복사

우리 모두는 git merge 명령에 너무 익숙합니다. 이를 사용하여 두 개의 분기를 하나로 병합할 수 있습니다.

이 명령은 한 분기에서 다른 분기로 변경 사항을 복사하는 방법이 될 수도 있습니다. 그러나 분기에서 모든 변경 사항을 복사하려는 경우에만 사용할 수 있습니다.

저장소에 Master 분기가 있다고 가정합니다. Master 브랜치에서 Dev2.1이라는 새 브랜치를 만들었습니다.

물론 새 분기는 Master 분기의 모든 커밋을 상속합니다. 그런 다음 Dev2.1 브랜치에서 개발을 시작합니다.

Dev2.1 브랜치에서 Master 브랜치로 모든 변경 사항을 복사하려면 아래와 같이 두 가지를 병합할 수 있습니다.

먼저 Master 브랜치로 체크아웃해야 합니다.

명령:

$ git checkout Master

이제 Dev2.1Master 분기에 병합할 수 있습니다.

명령:

$ git merge Dev2.1

병합 충돌이 발생할 수 있으며 병합을 완료하려면 충돌을 수동으로 해결해야 합니다.

마스터 브랜치에 특정 변경 사항을 복사한다고 가정합니다. 우리는 Dev2.1 분기에서 일부 커밋을 만들어 Master 분기보다 앞서고 하나의 커밋 복사를 시도할 것입니다.

다음은 지점 간의 비교입니다.

분기 간 비교

위의 결과에서 우리의 Dev2.1Master보다 두 커밋이 앞서 있습니다. Dev2.1 브랜치에서 Master 브랜치로 Python Scripts 커밋에 의해 도입된 변경 사항만 복사한다고 가정해 보겠습니다.

변경 사항을 복사하려면 아래와 같이 Python Scripts 명령의 SHA-1과 함께 git cherry-pick 명령을 사용합니다.

마스터 분기로 전환해 보겠습니다.

$ git checkout Master

변경 사항을 복사하려면:

$ git cherry-pick 2521a66

출력:

git cherry-pick 명령을 사용하여 Python 스크립트 커밋에서 마스터 브랜치로 변경 사항 복사

gitPython Scripts 커밋에서 Master 브랜치로 변경 사항을 복사한 것을 볼 수 있습니다. 이 커밋은 git log 명령을 실행하면 볼 수 있습니다.

명령:

$ git log --oneline

출력:

리포지토리에 대한 커밋 목록 표시

결론

git mergegit cherry-pick 명령을 사용하여 한 분기에서 다른 분기로 변경 사항을 복사할 수 있습니다. git merge 명령이 모든 변경 사항을 복사하는 동안 git cherry-pick 명령으로 변경 사항을 지정할 수 있습니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Branch