Git pull에서 다음 오류 메시지를 어떻게 무시합니까?
다음 파일에 대한 로컬 변경 사항은 병합으로 덮어 씁니다.
덮어 쓰 려면 어떻게 해야합니까?
과 같은 것을 시도 git pull -f
했지만 아무것도 작동하지 않습니다.
분명히하기 위해 모든 변경이 아니라 특정 변경 사항 만 덮어 쓰고 싶습니다.
답변
작업 복사본에서 git에 의해 추적되지 않은 파일을 포함하여 모든 로컬 변경 사항을 제거하려면 간단히 숨기십시오.
git stash push --include-untracked
더 이상 필요하지 않으면 이제 그 숨겨 놓을 수 있습니다.
git stash drop
이미 준비한 변경 사항을 숨기지 않으려면 (예 : with) git add
옵션을 추가하십시오 --keep-index
. 그러나 단계적 변경 사항이 업스트림 변경 사항과 충돌하는 경우 여전히 병합을 방해합니다.
로컬 변경 사항의 특정 부분 만 겹쳐 쓰려면 두 가지 가능성이 있습니다.
-
덮어 쓰고 싶지 않은 모든 것을 커밋하고 나머지 방법은 위의 방법을 사용하십시오.
-
git checkout path/to/file/to/revert
덮어 쓰려는 변경에 사용하십시오 . 를 통해 파일이 준비되지 않았는지 확인하십시오git reset HEAD path/to/file/to/revert
.
답변
다른 두 가지 답변의 도움으로 직접 해결책을 찾았습니다.
git checkout HEAD^ file/to/overwrite
git pull
답변
이것은 모든 로컬 변경 사항을 무시하고 ID를 요구하지 않습니다.
git reset --hard
git pull
답변
다음은 단계별 변경 사항을 버리는 솔루션입니다.
git reset file/to/overwrite
git checkout file/to/overwrite
답변
병합하기 전에 변경 사항을 커밋하거나 숨길 수 있습니다.
git stash save
git merge origin/master
git stash pop
답변
하나의 파일에서 로컬 변경 사항을 삭제하려면 다음을 수행하십시오.
git checkout -- <file>
그런 다음 최신 버전으로 파일을 덮어 쓸 수 있습니다.
git pull
답변
저장소에 다음에서 제거 된 파일이 몇 개 포함 된 경우 master
:
git checkout master
git fetch origin
git reset --hard origin/master
git checkout -b newbranch