2013-05-31 3 views
1

Git.Unite 도구 (http://www.woodcp.com/2013/01/git-unite-fix-case-sensitive-file-paths-on-windows/)를 사용하여 내 git repo에서 경로를 병합 한 경우에만 차이가 있었으며 성공한 동안 'a.'가 추가 된 것 같습니다. 내 저장소에 항목. 물론 로컬 컴퓨터에 저장소를 복제하면 '.' (OS가 제공 한 가상 항목이 있기 때문에) 보이지 않지만 github에서 저장소를 탐색하면 '볼 수 있습니다.' 항목은 놀랍지 않게 현재 디렉토리를 가리 킵니다. 그것은 어리석은 항목이 거기에 있다는 것을 혼란스럽게 보이지만, 또한 git rm .을 말하는 것이 올바른 의미를 가지고 있지 않기 때문에 그것을 지우는 방법을 모른다.'.'을 안전하게 안전하게 제거하십시오. git tree의 항목?

이 가짜 항목을 제거하려면 어떻게해야합니까?

편집 : 명확한 문제는이 도구가 Foo/Bar.txt -> ./Foo/Bar.txt이라는 이름을 사용하여 명시 적으로 '.' 기입.

편집 2 : 자식이 명시 적으로 디렉토리 항목을 저장하지 않는다는 것을 기억했습니다. 따라서 .으로 시작하는 경로가있는 트리에 표시된 몇 개의 파일이 있기 때문에 github이 . 만 표시한다고 생각합니다. git mv은 이름을 바꿀 수 없으므로 지금은 제거하고 다시 추가하겠습니다.

+3

나는 당신이 여하튼 "안전한"지점을 벗어 났다고 생각합니다. 이것은 어두운 내부에 대해 배울 좋은 기회 인 것처럼 들립니다. repo의 복제품을 만들고, 그것을 도랑을 파고 실수 할 때 다시 시작하십시오. – tripleee

+0

'git filter-branch --subdirectory-filter'를 사용하면 운이 좋게 될지도 모릅니다. – knittl

+0

여기 내가 undestand 한 것은 '.' 너도 원하지 않아. 맞지? – AAlferez

답변

2

'.'을 (를) 통과하여 현재 디렉토리에 대해 도구를 실행하면 Git.Unite와 함께 issue가 발견되었습니다.

C:\demo [master]> C:\tools\Git.Unite.exe . 

관찰 한대로 주요 ./directory 이름을 대상으로 인덱스 이동을 실행하고있었습니다. 이 문제를 피하기 위해 사용자가 전달한 경로를 전체 디렉토리 이름으로 확인하는 내 Git.Unite 저장소에 fix을 밀어 넣었습니다.

저장소를 수정하려면 Git.Unite를 실행 한 후 커밋 전에 git reset --hard HEAD~을 수정하고 Git.Unite의 새 빌드를 다시 실행하십시오.

문제가 발생하는 경우 GitHub 문제를 열어 신속하게 해결할 수 있습니다. 피드백에 감사 드리며 도구가 도움이되기를 바랍니다.

+0

불행히도 repo는 공개가 아니며 repo를 재설정하는 것은 불가능합니다 (이미 푸시되고 다른 사람이 가져 왔습니다). 문제의 파일을 삭제하는 간단한 솔루션이 나를 위해 해결했습니다. 감사! –

+1

우수! 다행히 과거를 지나치는 동시에 다행히 버그를 찾을 수있게되어 기뻤습니다. – tawman

관련 문제