Git에서 로컬 파일 변경 사항 무시

John Wachira 2023년6월20일
Git에서 로컬 파일 변경 사항 무시

이 문서에서는 원격 저장소에서 업데이트할 때 Git의 로컬 파일 변경 사항을 무시하는 방법을 보여줍니다. 때때로 Git은 git pull을 실행하려고 할 때 아래와 같은 오류를 표시할 수 있습니다.

Updating 0376abc..1chd7a5 error: Your local changes to the following files would be overwritten by merge: README.md Please, commit your changes or stash them before you can merge. Aborting

그럼 어떻게 해야 할까요?

Git에서 로컬 파일 변경 사항 무시

간단히 말해서 위의 오류 메시지는 병합할 때 충돌을 피하기 위해 커밋되지 않은 변경 사항을 제거하거나 저장해야 함을 나타냅니다. 이것은 일반적으로 git pull 명령이 커밋되지 않은 변경 위치에 파일을 생성하는 경우입니다.

이 문제를 해결하려면 색인을 정리해야 합니다. 아래와 같이 git checkout 명령을 사용하여 추적된 파일을 제거할 수 있습니다.

우리의 경우 README.md 파일이 충돌을 일으킬 수 있습니다. 색인에서 파일을 제거하려면 다음을 실행합니다.

$ git checkout README.md

이렇게 하면 준비된 변경 사항이 삭제되고 README.md 파일이 마지막 커밋 상태로 되돌아갑니다. 충돌을 일으킬 수 있는 추적되지 않은 파일이 있는 경우 아래와 같이 git clean 명령을 사용할 수 있습니다.

git clean -fd

추적되지 않은 모든 파일과 폴더를 색인에서 제거합니다. 우리 저장소는 이제 git pull에 대한 준비가 되었습니다.

색인에서 파일을 제거하는 방법에 대해 이야기했습니다. 위의 방법은 변경 사항을 버린다는 점에 유의하십시오.

커밋되지 않은 변경 사항을 유지하려면 어떻게 해야 합니까?

변경 사항을 버리지 않고 색인을 정리하는 가장 쉬운 방법은 git stash 명령입니다. 아래 표시된 명령을 사용하여 추적된 변경 사항을 숨길 수 있습니다.

$ git stash

인덱스에 추적되지 않은 파일이 있는 경우 다음을 실행합니다.

$ git stash -u

위의 명령은 추적된 변경 사항과 추적되지 않은 변경 사항을 모두 숨깁니다.

이제 git pull 명령을 실행하고 아래와 같이 숨겨진 변경 사항을 적용할 수 있습니다.

$ git stash pop

위의 명령은 숨겨진 변경 사항을 팝하고 인덱스에 적용합니다.

간단히 말해서 git pull 요청에는 인덱스가 깨끗해야 합니다. 커밋되지 않은 변경 사항을 제거하거나 원격에서 업데이트하기 전에 숨길 수 있습니다.

이렇게 하면 커밋되지 않은 변경 사항과 병합 충돌이 발생하지 않습니다.

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

관련 문장 - Git Clean