Git 패치 오류 문제 해결

John Wachira 2023년1월30일
  1. Git에서 패치 적용
  2. Git 패치 오류 문제 해결: file already exists in index
  3. Git 패치 오류 문제 해결: error in file
  4. Git 패치 오류 문제 해결: patch does not apply
  5. 위의 명령이 작동하지 않는 경우 Git 패치 오류 문제 해결
Git 패치 오류 문제 해결

이 문서는 git 패치 적용과 관련된 몇 가지 일반적인 오류를 해결합니다. 오류를 방지하고 오류가 발생했을 때 수정하는 방법을 살펴보겠습니다.

Git에서 패치 적용

git am 명령은 아래와 같이 Git에 패치를 적용할 수 있습니다.

$ git am <patch_file>

패치를 적용하기 전에 올바른 분기에 있는지 확인하십시오. git checkout 명령을 사용하여 패치를 적용하려는 분기로 전환합니다.

git checkout <Branch_Name>

패치 적용 후 git log를 사용하여 패치가 성공했는지 확인합니다.

$ git log --oneline --graph

때때로 git 패치를 적용할 때 오류가 발생합니다. 몇 가지 일반적인 오류를 살펴보고 이를 처리하는 방법에 대해 논의해 보겠습니다.

Git 패치 오류 문제 해결: file already exists in index

이 오류는 git 패치와 관련된 일반적인 오류 중 하나이며 처리하기가 매우 간단합니다. 분기에 이미 있는 파일이 포함된 패치를 적용하려고 합니다.

색인에 있는 파일을 다시 확인하십시오. git ls-files 명령을 사용하고 --stage 옵션을 추가합니다.

예시:

$ git ls-files --stage <directory>

700574 eaa5fa8755fc20f08d0b3da347a5d1868404e462 0       file1.txt
670644 61780798228d17af2d34fce4cfbdf35556832472 0       file2.txt

패치에 위 출력의 파일 중 하나가 포함되어 있으면 file already exists in index 오류가 발생할 수 있습니다.

패치를 적용하는 동안 오류를 무시하면 이 문제를 해결할 수 있습니다. 명령에 --skip 인수를 추가해야 합니다.

$ Git am --skip

Git 패치 오류 문제 해결: error in file

이것은 병합 오류의 일반적인 경우입니다. 분기 병합 오류와 유사합니다.

책임 있는 파일을 식별하고 편집하여 이 문제를 해결할 수 있습니다.

Git 패치 오류 문제 해결: patch does not apply

이 오류는 Git이 패치 적용 방법을 결정할 수 없을 때 발생합니다. 다음은 이 오류를 수정하는 데 사용할 수 있는 명령입니다.

git apply --reject --whitespace=fix mychanges.patch

--reject 인수에 유의하십시오. 우리는 그것을 사용하여 Git에게 가능한 파일을 패치하도록 지시하고 패치 방법을 알아낼 수 없는 것을 포함하는 .rej 파일을 생성합니다.

그런 다음 충돌을 수동으로 해결할 수 있습니다. 또는 아래 명령을 사용할 수 있습니다.

git apply --ignore-space-change --ignore-whitespace mypatch.patch

위의 명령이 작동하지 않는 경우 Git 패치 오류 문제 해결

위의 어느 것도 작동하지 않으면 3방향 병합으로 대체합니다. 아래 명령어를 사용하세요.

git apply --3way Mypatch.patch

이 명령은 Git에 사용 가능한 패치를 만들고 충돌을 남기도록 지시합니다. 충돌을 수동으로 수정할 수 있습니다.

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