2013-05-19 4 views
3

p1라는 로컬 디렉토리에서 작업 중이며 git repo가 ​​포함되어 있습니다. 브랜치를 추가하고 추가 된 브랜치에 커밋을 한 후, 나는 p1이라는 디렉토리의 복사본을 만들고 그것을 p2이라고 부른다. 나의 의도는 p2 디렉토리에서 병합 및 리베이스 (배울 것)를하고, 변경 사항을 병합/리베이스하려는 방법을 결정할 때 p1에서 원격 저장소로 푸시하는 것이 었습니다.로컬 추적 된 파일을 강제로 덮어 쓰지만 로컬의 추적되지 않은 파일은 덮어 쓰지 마십시오.

그러나 실수로 병합을 수행 한 다음 p2 디렉토리에서 원격 저장소로 푸시했습니다. 지금은 원격 저장소가 내 자식 프로젝트의 올바른 상태를 가지므로 OK입니다.

그러나 지금은 디렉토리 p1에있는 내용을 원격 저장소에있는 내용으로 교체해야합니다. 그렇게하면 디렉토리 p1이 최신 상태가됩니다. 같은 this으로이 문제에

git pull 
Updating e07d50d..287ec08 
error: Your local changes to the following files would be overwritten by merge: 
    debug/external/subdir.mk 
    debug/makefile 
    debug/subdir.mk 
    input/parameters.cfg 
    main.cpp 
Please, commit your changes or stash them before you can merge. 
Aborting 

이제, 내가 찾은 잠재적 인 솔루션을 여기

내가 디렉토리 p1로 가서 원격의 repo에서 끌어하려고, 내가 무엇을 얻을 수 있습니다.

그러나 내 문제는 디렉토리 p2에는 원격 저장소에서 끌어 올 때 지워지지 않는 파일이 들어 있습니다..

로컬 추적되지 않은 파일을 삭제하지 않고 로컬 추적 파일을 덮어 쓰는 방법은 무엇입니까?


참고 :이 나에게 적합 할 것으로 보인다 here 답변 중 하나,하지만 난 100 % 확실하지 않다.

답변

2
git fetch 
git reset --hard origin/master 
관련 문제