2013-08-16 6 views
3

파일에 로컬 변경 사항이 있습니다 (원격 리포지토리에 대해 .classpath). (예, 내가 공유의 repo에서 클래스 경로 파일이 안 알아,하지만 그건 다른 이야기입니다.)git에서 특정 파일의 로컬 변경 내용을 커밋 할 수 없습니다.

이 일부 지역의 변화가있는 것을 증명한다 : 그러나, 그들은 돈

$ git checkout master 
error: Your local changes to the following files would be overwritten by checkout: 
    PhotoFeed/.classpath 
Please, commit your changes or stash them before you can switch branches. 
Aborting 

가 ' t이 자식 상태에 나타납니다

$ git status 
# On branch release-1.5.1 
nothing to commit, working directory clean 

을이 파일은 .gitignore에없는,이 명령으로 증명 :

$ git status --ignored 
# On branch release-1.5.1 
# Ignored files: 
# (use "git add -f <file>..." to include in what will be committed) 
# 
# .metadata/ 
# PhotoFeed/.settings/ 
# PhotoFeed/bin/ 

나는 또한 assume-unchanged에서 제거하려했지만, 그것은 아무것도 변경되지 않습니다 : 그것은 준비 영역에 추가 할 수 없습니다

$ git update-index --no-assume-unchanged PhotoFeed/.classpath 

합니다. 나는 그것에 git add -f을 할 수 있지만, git commit는 커밋 할 것이 없다고 계속 말하고있다.

이 파일을 다시 "보통"으로 만들려면 어떻게해야합니까? 나는 그것을 diff하거나, 그것을 커밋 할 수 있고, 아니면 단지 git rm입니다. 즉,이 파일을 숨기고있는 다른 자식 설정 파일/플래그/속성은 무엇입니까?

답변

1

이 파일을 무시하는 데 사용되는 또 다른 자식 config 파일이 있습니다 : 파일 exclude.gitignore 사이 .git/info/exclude

의 차이는 전자는 버전되지 않는 것입니다, 당신의 개인적인 사용을위한 것입니다. 예를 들어 으로 설정하려면 IDE 또는 OS에서 개의 파일을 제외하십시오.

+0

좋은 점 (나는 고려하지 않았다), 그러나 여전히 그것을 해결하지 못한다 : 나는'.git/info/exclude'에 그 파일들을 가지고 있지 않다. 불행하게도 – espinchi

+0

@ espinchi는 당신이 저장소? – Andres

+0

불행히도. 그것은 민간 기업 내에서 개발 된 제품입니다. – espinchi

관련 문제