2011-12-10 3 views
3

어제 내 프로젝트가 유사한 .gitignore 파일 만 지점까지 : 나는 새로운 지점을 추가 및 업로드 파일을 무시하지이 .gitignore을 변경하기 전까지는 괜찮 았는데Git에서 분기를 전환 할 때 "Untracked working tree file"오류가 나타나는 이유는 무엇입니까?

*.log 
upload/* 
!upload/global/empty.txt 

합니다. 새로운 .gitignore 파일은 하나의 선으로 남아 : 나는 문제없이 마스터 지점으로 돌아

*.log 

,하지만 지금은 새로운 지점으로 이동 할 때마다 나는이 같은 메시지가 나타납니다

error: Untracked working tree file 'upload/file.txt' would be overwritten by merge.

이 작업을 수행하려면이 지점을 체크 아웃해야하며, 적어도 내가 작성한 커밋을 복구해야합니다.

참고 : 나는이 similar question을 찾았지만 내 질문에는 대답하지 않습니다.

+0

그래서 새 분기에서'.gitignore' 파일에서'* .log'라는 줄을 삭제 했습니까? 그리고 두 브랜치의'.gitignore '파일에'upload/*'가 여전히 남아 있습니까? – Andy

+0

아니요, "upload/*"및 "! upload/global/empty.txt"행을 삭제했습니다. – Ivan

답변

9

문제점 : 새 분기에서는 upload/file.txt을 추적하지 않지만 마스터 분기에서 추적하고 있습니다. 따라서 새 브랜치로 전환하면 master의 버전이 추적되지 않은 파일을 덮어 씁니다.

-f 플래그를 git checkout에 추가하면 추적되지 않은 파일을 강제로 덮어 쓰게됩니다.

+0

작동하며 지점을 변경할 수 있습니다. 그러나 * upload * 폴더의 각 파일에 대한 "링크를 해제 할 수 없음"이라는 오류 목록을 제공합니다. 힘내 상태는 두 지점 모두에서 "커밋 할 것이 없습니다"라고 말합니다. 이 오류를 피할 수 있습니까? 아니면 내가 이걸 가지고 살아야합니까? :) – Ivan

관련 문제