2010-08-16 3 views
1

디렉토리 TestDirectory가 소문자로 변경된 후 (testdirectory) 모든 파일 (a.html 및 b.html)은 수정 된 것으로 표시되고 git reset으로 표시됩니다. -hard는 작업 트리를 재설정하지 않습니다.다른 이름으로 디렉토리 이름 바꾸기 이름이 같은 파일이 항상 포함 된 것으로 표시됩니다.

힘내는 항상 말한다 :

# modified: TestDirectory/a.html 
# modified: TestDirectory/b.html 

아무것도 수정되지 않은 상태로 작업 트리를 다시 작동합니다, 다음 명령 중 어느 것도 도움이되지 : 이런 무엇을 왜 이해가 안

git reset --hard 

git checkout -- TestDirectory/a.html 

I 할수있다. 그것은 자식 버그인가?

이름 변경은 나를 제외한 다른 자식 사용자에 의해 추가되지 않았습니다.

자식 버전 1.6.4

나는 자식이 (자식은 diff는 다른 선 끝으로, 그 자체로 대체 된 파일을 보여줍니다) 라인 엔딩을 재 작성하는 경우가 확인할 수 있습니다 맥 OS X 10.6

+0

여기서 작동합니까, git --version? – hroptatyr

+0

@hroptatyr git version은 1.6.4 – Vladimir

+0

입니다. 1.7.1 여기에서 일치하는 버그 보고서를 찾을 수 없습니다. – hroptatyr

답변

2

약 1 시간 후에 나의 해결책은 수동으로 testdirectory/a.html과 testdirectory/b.html을 삭제하는 것이 었습니다 - 그 자식이 "삭제 된"것으로보고 한 후에 (실제로 삭제하고 싶지는 않지만) 나 능력을 끌어 당기고 다른 사용자가 문제를 고쳤을 때 변화를 얻는다.

얼마 단계 :

  1. 파일 삭제에 TestDirectory/a.html과에 TestDirectory/b.html
  2. 자식

주의를 끌어 : 이전에 자식 풀 수행 할 수없는 원인은 충돌을 병합 오류.

나는 무슨 일이 일어 났는지 명확하게 이해하지 못했지만 내 경우를 해결했습니다. 제 생각에는 힘내는 Perl처럼 여전히 복잡하고 명령은 주로 사용자의 의도보다는 자식의 내부를 반영합니다 :-)

+1

"명령은 대부분 사용자의 의도가 아니라 자식의 내부를 반영합니다."+1 –

+0

동의합니다. 매우 좋지 않습니다. 그러나 자식은 이제 다소 표준 적입니다. Mercurial이 훨씬 더 좋은지 확실하지 않습니다. – Vladimir

관련 문제