Git의 한 브랜치에서 다른 브랜치로 변경 사항 복사
이 기사에서는 Git의 한 분기에서 다른 분기로 변경 사항을 복사하는 데 사용할 수 있는 두 가지 방법에 대해 설명합니다.
Git의 한 브랜치에서 다른 브랜치로 변경 사항 복사
우리 모두는 git merge
명령에 너무 익숙합니다. 이를 사용하여 두 개의 분기를 하나로 병합할 수 있습니다.
이 명령은 한 분기에서 다른 분기로 변경 사항을 복사하는 방법이 될 수도 있습니다. 그러나 분기에서 모든 변경 사항을 복사하려는 경우에만 사용할 수 있습니다.
저장소에 Master
분기가 있다고 가정합니다. Master
브랜치에서 Dev2.1
이라는 새 브랜치를 만들었습니다.
물론 새 분기는 Master
분기의 모든 커밋을 상속합니다. 그런 다음 Dev2.1
브랜치에서 개발을 시작합니다.
Dev2.1
브랜치에서 Master
브랜치로 모든 변경 사항을 복사하려면 아래와 같이 두 가지를 병합할 수 있습니다.
먼저 Master
브랜치로 체크아웃해야 합니다.
명령:
$ git checkout Master
이제 Dev2.1
을 Master
분기에 병합할 수 있습니다.
명령:
$ git merge Dev2.1
병합 충돌이 발생할 수 있으며 병합을 완료하려면 충돌을 수동으로 해결해야 합니다.
마스터
브랜치에 특정 변경 사항을 복사한다고 가정합니다. 우리는 Dev2.1
분기에서 일부 커밋을 만들어 Master
분기보다 앞서고 하나의 커밋 복사를 시도할 것입니다.
다음은 지점 간의 비교입니다.
위의 결과에서 우리의 Dev2.1
은 Master
보다 두 커밋이 앞서 있습니다. Dev2.1
브랜치에서 Master
브랜치로 Python Scripts
커밋에 의해 도입된 변경 사항만 복사한다고 가정해 보겠습니다.
변경 사항을 복사하려면 아래와 같이 Python Scripts
명령의 SHA-1
과 함께 git cherry-pick
명령을 사용합니다.
마스터 분기로 전환해 보겠습니다.
$ git checkout Master
변경 사항을 복사하려면:
$ git cherry-pick 2521a66
출력:
git
이 Python Scripts
커밋에서 Master
브랜치로 변경 사항을 복사한 것을 볼 수 있습니다. 이 커밋은 git log
명령을 실행하면 볼 수 있습니다.
명령:
$ git log --oneline
출력:
결론
git merge
및 git cherry-pick
명령을 사용하여 한 분기에서 다른 분기로 변경 사항을 복사할 수 있습니다. git merge
명령이 모든 변경 사항을 복사하는 동안 git cherry-pick
명령으로 변경 사항을 지정할 수 있습니다.
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