2012-01-27 3 views
4

git 저장소를 만들고 코드를 추가하고 GitHub에 푸시했습니다.서브 디렉토리에서 Git 추적을 변경하지 않는 이유는 무엇입니까?

다음 로컬에서는 처음 커밋 할 때 GitHub에 추가 된 Eila.Analyser/Program.cs 파일을 편집했습니다. git status에는 변경 사항이 없습니다.

좋아, 내 생각에, 뭔가가 엉망이되어 야합니다. git reset --hard HEAD 그리고 모든 것을 되돌려 야한다는 것을 이해했지만 파일은 되돌릴 수 없습니다.

그래서 나는 뭔가 잘못하고 있다고 생각합니다. git status - 루트 폴더에있는 파일을 편집합니다. 변경 사항이있는 것으로 보이고 의심되는 것으로 작동하므로 루트 폴더의 파일에는 작동하지만 하위 폴더에는 작동하지 않습니다.

내가 여기에 뭔가 분명한 것을 놓치고 있습니까?

UPDATE : 내가 편집있어 해당 파일이 정말 최선을 다하고 된 증거 ​​(git log --stat) :

enter image description here

도움이된다면, 트리 사진 :

enter image description here

UPDATE2 : 좋아, 나는 정말 엉망이라고 생각 했으므로 폴더를 지웠다. 내 솔루션은 어디에 있었는지, 다시 한번 gitHub에서 복제되었고 내 로컬 코드는 여전히 gitHub와 git 상태가 다르다. 변경 사항 없음, git log origin/master..HEAD는 아무 것도 제공하지 않습니다.

+1

바보 같은 질문 : Program.cs가 .gitignore 파일에 없습니까? – Joe

+0

아니요, 그렇지 않습니다. 또한 다른 파일 (app.config, 하위 디렉토리에도 있음)을 변경하려고 시도했지만 작동하지 않습니다. – Giedrius

+2

@Giedrius는 분리 된 머리에 있습니까? (http://stackoverflow.com/questions/8213826/egit-branches-local-vs-remote-tracking/8218067#8218067, http://stackoverflow.com/a/1000009/6309)? 'git branch'는 무엇을 반환합니까? – VonC

답변

6

결국 그렇게되었습니다. 로컬 폴더에서 변경된 파일을 삭제했습니다. 갑자기 git status이 (가) 시작되어 파일이 누락되었습니다. 그래서 나는 그들을 복원했고 git status이보기 시작했다. 파일이 수정되었다.

+0

여기에 있습니다. README.md를 제거하고 "git status"를 실행하면 변경된 파일이 목록에 다시 있습니다. – karlingen

+1

폴더의 이름을 변경하고 git에서 인식했습니다. – AskYous

9

git update-index --really-refresh을 실행 해보십시오.

Windows에서 비슷한 문제가 있었지만 해결되었습니다.

core.ignoreStat 옵션을 git config으로 확인해야합니다.

+0

did not worked, git config --get core.ignoreStat가 아무 것도 반환하지 않았습니다. – Giedrius

+0

이 중 하나에주의하십시오. 나는 그것을 달렸다. 그리고 나는 그것이했던 변경을 undid했다. 그러나 나는 그 변화를 다시 만들 수 있었고 추적을 받았다. –

+0

@ JasonSteele : 나는 그 행동이'update-index'에 의해 야기 된 것이라고 생각하지 않습니다. 이름과 설명서에서 말한 것처럼 인덱스 만 업데이트하고 작업 디렉토리는 변경하지 않습니다. – Koraktor

0

나는 동일한 문제가있었습니다. Giedrius의 솔루션은 나를 위해 잘 작동했습니다. 전체 디렉토리를 삭제하고 다시 추가했습니다. 이 문제가 해결되었습니다

1

때로는 동일한 문제가 있습니다. 특히 다른 하위 repo 자체 인 하위 폴더가있을 때가 있습니다. 해결 방법은 폴더의 이름을 바꾸는 것입니다. 폴더 이름을 다른 것으로 전환 해보십시오. 저지른 다음 다시 이름을 바꿉니다. 하위 폴더 자체가 또 다른 Git repo이고 주류에서 완전히 분리되기를 원하고 repo를 따르려면 먼저 해당 하위 폴더의 원격을 제거해야합니다.

관련 문제