git 풀 코드를 사용할 때 종종 충돌이 발생하고 다음 메시지가 표시됩니다.
오류: 'c/environ.c'에 대한 로컬 변경 사항이 병합으로 인해 덮어쓰여집니다.
병합하기 전에 변경 사항을 커밋하거나 보관하세요.
이는 업데이트된 콘텐츠가 로컬 수정 콘텐츠와 충돌함을 의미합니다. 변경 사항을 먼저 제출하거나 로컬 수정 사항을 먼저 임시로 저장하세요.
처리 방법은 매우 간단하며 주로 git stash 명령을 사용하며 다음 단계로 나누어집니다.
1. 로컬 수정 사항을 먼저 저장합니다
$ git stash
이렇게 하면 모든 로컬 수정 사항이 일시적으로 저장됩니다. git stash list를 사용하면 저장된 정보를 볼 수 있습니다.
git stash temporarychanges
git stash temporarychanges
여기서 stash@{0}는 방금 저장된 태그입니다.
2. 콘텐츠 가져오기
로컬 수정 사항을 임시로 저장한 후 가져올 수 있습니다.
$ git pull
3. 임시 콘텐츠 복원
$ git stash pop stash@{0}
시스템에서 다음과 유사한 메시지가 표시됩니다.
자동 병합 c/environ.c
CONFLICT(content): Merge conflict in c/environ.c
는 시스템이 수정된 콘텐츠를 자동으로 병합하지만 충돌이 발생하여 충돌을 해결해야 함을 의미합니다. 해결되었습니다.
4. 파일의 충돌하는 부분을 해결합니다.
충돌하는 파일을 열면 다음과 유사한 내용이 표시됩니다.
git conflict content
git conflict content
업데이트된 업스트림과 ===== 사이의 콘텐츠는 가져온 콘텐츠이고, ====과 숨겨진 변경사항 사이의 콘텐츠는 로컬에서 수정된 콘텐츠입니다. 이 경우 git은 어떤 내용 줄이 필요한지 모르므로 필요한 내용을 직접 결정해야 합니다.
솔루션이 완성된 후 정상적으로 제출하시면 됩니다.