HOWTO · Git
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에 사용 가능한 패치를 만들고 충돌을 남기도록 지시합니다. 충돌을 수동으로 수정할 수 있습니다.