Git의 다른 분기로 커밋 이동
Git은 현대 소프트웨어 세계에서 매우 유용하고 강력한 도구입니다. Git에서 분기 및 커밋을 통해 많은 유형의 파일과 코드를 저장할 수 있습니다. 분기는 사용 중인 버전 관리 시스템에 따라 다른 개념입니다. 많은 개발자들은 효율성 때문에 가장 선호되는 버전 관리 시스템이라고 가정합니다.
대부분의 경우 어떤 작업을 완료하고 특정 브랜치에 커밋한 후 실수로 잘못된 브랜치에 커밋했음을 깨닫고 다른 브랜치에서 다시 커밋하고 싶을 때 이러한 상황에 직면합니다. 여기서 Git은 우리를 구출하기 위해 왔으며, 커밋을 다른 기존 브랜치나 새 브랜치로 이동할 수 있습니다.
이 가이드는 커밋을 새 브랜치나 기존 브랜치로 옮기는 방법에 대한 기본적인 이해를 제공합니다. 또한 git branch 명령으로 새 분기를 만들고 git reset
명령으로 커밋을 이동하고 git merge 명령으로 변경 사항을 다시 주 분기로 병합하는 방법에 대해 논의합니다.
Git에서 이동에 대한 커밋 수 계산
전체 프로세스를 시작하기 전에 상황을 판단해야 합니다. 변경할 분기를 체크아웃했다고 가정해 보겠습니다. 우리는 이를 위해 역사를 볼 필요가 있습니다.
다음 명령을 사용하여 이동할 커밋 수를 계산합니다.
git log
실행 후 HEAD
는 origin/HEAD
의 헤드에 있는 두 개의 커밋이며 다른 분기로 이동해야 하는 두 개의 원하는 커밋임을 알 수 있습니다. 다음은 이러한 커밋을 새 분기 또는 기존 분기로 이동하는 방법을 다루는 나머지 단계입니다.
Git의 새 분기로 커밋 이동
아래에 언급된 단계는 최신 커밋을 새 분기로 이동하는 방법을 보여줍니다.
-
새 브랜치 생성
git branch feature/new branch
이 명령은
master(current)
분기의 모든 커밋을 포함하는 새 분기를 만듭니다. -
현재 분기를 두 커밋 뒤로 이동
git reset --keep HEAD~2
-
새로운 지점을 확인하세요
git checkout feature/new branch
이를 실행함으로써 두 개의 최신 커밋이 master
(현재 분기)에서 제거되고 feature/new branch
라는 새 분기에 추가되었습니다.
Git의 기존 분기로 커밋 이동
아래에 언급된 단계는 최신 커밋을 기존 분기로 이동하는 방법을 보여줍니다. 기능 브랜치에서 작업했지만 실수로 잘못된 브랜치에서 커밋을 시작했다면 유용할 것입니다. 제거하려는 커밋이 있는 현재 분기가 master
라고 가정해 보겠습니다.
-
기존 브랜치 체크아웃
git checkout feature/existing branch
git checkout
명령은 작업 디렉토리에서만 작업하는 것으로 제한되지 않습니다. 또한HEAD
참조 포인터를 분기의 참조 지점으로 이동하는 데 사용할 수도 있습니다. -
마스터 브랜치 병합
git merge master
git merge
명령을 사용하여 분기를 현재 분기에 병합할 수도 있지만 현재 분기가 병합 중인 분기에 이미 병합된 경우에만 가능합니다. -
마스터 브랜치 확인
git checkout master
checkout
master 명령은 최신 버전의 코드를 풀다운하고master
라는 새 분기를 만듭니다. -
현재 분기를 두 커밋 뒤로 이동:
git reset --keep HEAD~2
--keep
옵션은 인덱스 항목을 재설정하고 커밋과HEAD
간에 다른 작업 트리의 파일을 업데이트합니다. 커밋 시 파일이 다르고 HEAD에 로컬 변경 사항이 있는 경우 재설정이 종료됩니다. 따라서 최신 두 커밋이master
에서 제거되고 기존 분기에 추가되었습니다.
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관련 문장 - Git Commit
- Git 커밋 사인오프 기능 이해
- Git에서 수정된 커밋 되돌리기
- Git에서 추적되지 않은 파일을 커밋하는 다양한 방법
- Git에서 특정 커밋 수정
- Git에서 현재 커밋 가져오기
- Git의 다른 분기에 현재 변경 사항 커밋