2013-08-13 6 views
0

나는 커밋 망할 놈 자식을 내 디렉토리를 추가 할 수 있었다 그러나 이상하게도, 나는 다음과 같은 오류가 무엇입니까"git add"를 수행 할 수 없습니다.

$ git add . 

을 때를하고있는 중이 야 :

warning: LF will be replaced by CRLF in .idea/workspace.xml. 
The file will have its original line endings in your working directory. 
warning: LF will be replaced by CRLF in grails-app/controllers/com/abc/pqr/Rep 
ortController.groovy. 
The file will have its original line endings in your working directory. 
warning: LF will be replaced by CRLF in grails-app/domain/com/abc/pqr/Report.g 
roovy. 
The file will have its original line endings in your working directory. 
fatal: unable to stat 'Dirname#com.abc.pqr.Report': No such file or directo 
ry 

이미 this 겪었을 SO 대답 내가하려고하면 :

:

$ git rm Dirname#com.abc.pqr.Report 

나는이 오류

fatal: pathspec 'Dirname#com.abc.pqr.Report' did not match any files 

놀랍게도 위의 디렉토리를 검색 할 때 파일이 없기 때문에 위에서 설명한 파일을 찾을 수 없습니다.

루트 디렉토리 (예 : 루트 디렉토리의 Dirname 아래에있는 file # com.abc.pqr.Report)에 Dirname/# com.abc.pqr.Report라는 파일이 있음을 언급 할 필요가 있습니다. 이상하게도 삭제할 수 없었던 문제는 this (windows-7 OS를 사용하고 있습니다.)이고 this을 사용하여 해결할 수 있습니다. 그러나 우연히 (버그가있는 grails 스크립트를 통해) 위의 파일을 만들었으므로 `git add를 할 수 없었습니다.

+0

'Dirname # com.abc.pqr.Report'는 매달려있는 링크입니까? 해당 파일에 대한 자세한 내용을 알려주십시오. –

+0

@GregBacon "매달린 심볼릭 링크"란 무엇입니까? – rahulserver

+0

@GregBacon "dangling symlink"에 대한 이해와 http://ubuntuforums.org/showthread.php?t=1078729, 그렇습니다. 그러나 나는 창문에 그것을 사용하고 있지만, 힘내 bash는 리눅스 기반으로 보인다. – rahulserver

답변

1

Dirname#com.abc.pqr.Report을 커밋에 포함시키지 않으려면 을 수행하고을 명시 적으로 수행하십시오. 예를 들어 위의

$ git add .idea/workspace.xml 
$ git add grails-app/controllers grails-app/domain 
...

명령은 Dirname#com.abc.pqr.Report 명명 된 디렉토리 중 하나에 아니라고 가정합니다. 만약 그렇다면, 당신이 할 수있는 곳의 최상위 디렉토리에 이름을 지정하십시오.

git add으로 원하는 변경 사항을 모두 수행 한 후에는 git commit으로 안전하게 커밋 할 수 있습니다.

+0

답이있는 것처럼 보입니다.하지만 앞으로는 각 디렉토리를 개별적으로 추가해야합니다. 10 개의 다른 파일에서 100 개의 다른 파일을 수정한다고 가정하면 10 개의 자식을 추가해야합니다. 매우 지루합니다. 간단히 말해서 "git add"를 할 수 없습니다. 다시. 이 "dangling symlink"를 영구적으로 없애기 위해 찾고 있습니다. – rahulserver

+0

위의 해결 방법이 있습니다. 해결 방법은 해당 파일을 제거하는 방법을 찾는 것입니다. –

+0

당신의 대답이 작동하고 어쨌든 나는 현재의 커밋을 최소한으로 밀어 낼 수 있었으므로 나는 당신의 대답을 upvote 할 수있었습니다.하지만 여전히 나는 최종 해결책을 기다리고있을 것입니다. – rahulserver

1

Unix 시스템에서 줄 끝은 줄 바꿈으로 표시됩니다 : LF. 창에서 줄은 캐리지 리턴으로 표시됩니다. CR 및 줄 바꿈 : LF (CRLF). 따라서 리눅스에서 파일을 추가하려고 시도하는 경우 결과 경고로 LF 만 있습니다. 걱정할 필요가 없습니다. 어쨌든 나는 git add . 명령이 파일을 추가 할 것이라고 생각합니다. git status을 추가하고 추가되었는지 확인하십시오.

+0

"어쨌든 제 생각에는 명령을 추가하면 명령이 파일을 추가합니다." 아니 그 does not는 커밋되지 않고, 나를 보여준다 "커밋에 추가 된 변경 없음 ("git add "및/또는"git commit -a "사용)" – rahulserver

+0

흠.확인하고 알려 드리겠습니다. BTW는 적절한 파일 경로를 가지고'$ git rm Dirname # com.abc.pqr.Report'를 시도한다. 나는 이것이 올바른'Dirname # com.abc.pqr.Report'라고 생각하지 않는다. – deepakb

+0

전체 구조를 삭제 했으므로 파일로 이동할 방법이 없습니다. 처음에는 루트 디렉토리 (.) 안에있는 디렉토리 Dirname에 # com.abc.pqr.Report가 있었지만 그 내용으로 전체 Dirname 디렉토리를 삭제했습니다. 그래서 하나의 파일에 오류가 있기 때문에 추적 할 파일을 추가하지 않았기 때문에 버그가 아닌가? – rahulserver

관련 문제