커밋 없이 Git Stash 충돌 해결

John Wachira 2024년2월15일
커밋 없이 Git Stash 충돌 해결

이 문서에서는 커밋을 되돌리거나 생성하지 않고 Git 숨김 충돌을 해결하기 위해 따라야 하는 단계를 설명합니다. 보다 쉬운 컨텍스트를 위해 git stash pop 명령이 충돌을 일으키는 상황을 시뮬레이션하고 커밋할 파일을 추가하지 않고 충돌을 해결하려고 시도합니다.

커밋 없이 Git Stash 충돌 해결

VSCode에서 README.md 파일을 열고 저장하고 끝에 줄을 추가한 다음 변경 사항을 숨깁니다.

$ git stash
Saved working directory and index state WIP on Dev2.1: 8b5cc6c Zesr

다음으로 README.md 파일 끝에 다른 줄을 추가하고 변경 사항을 저장하고 커밋합니다.

이제 git stash pop 명령을 실행할 수 있습니다.

$ git stash pop

git stash pop

커밋할 파일을 추가하지 않고 이 문제를 해결하려면 다음 단계를 따르세요.

첫 번째 단계는 병합 충돌을 해결하는 것입니다. Git에는 기본 mergetool이 있지만 Meld를 사용하는 것이 좋습니다.

Meld를 사용하려면 기본 병합 및 difftool로 구성되어 있는지 확인하십시오.

아래 명령을 실행하여 Meld를 시작하고 충돌을 수동으로 해결합니다.

$ git mergetool

병합 충돌을 처리한 후 작업 트리의 상태를 빠르게 확인하겠습니다.

$ git status

git 상태

위 출력에서 볼 수 있듯이 Git은 커밋을 위해 파일을 준비했습니다. 파일을 언스테이징하려면 권장 명령을 실행해야 합니다.

$ git restore --staged README.md

작업 트리를 확인해 봅시다.

$ git status

git restore –staged

Git은 병합 후 숨김을 자동으로 삭제하지 않습니다. 다음을 실행하여 삭제해야 합니다.

$ git stash drop

결론적으로 Git 충돌을 해결된 것으로 표시하는 두 가지 방법이 있습니다. git add 또는 git restore --staged 명령을 사용할 수 있습니다.

후자는 충돌을 해결하고 색인에서 파일을 제거합니다.

작가: 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 Stash