2016-12-16 4 views
1

내가 내 gitignore에서 일부 폴더를 넣어하지만 documentation힘내 무시하고 untrack 파일

으로 설명한 gitignore 파일이 망할 놈의 무시 의도적으로 비 추적 파일을 지정합니다 [그래, 난 이미 다른 게시물을 읽혀질]. 이미 힘내 추적 파일이 내 gitignore 파일

$ cat .gitignore 
/.settings/ 
/.buildpath 
/configuration.php 
/administrator/cache/* 
/images/* 
/connectionOracle.php 
/administrator/components/com_jsecure/* 
/administrator/language/en-GB/* 

이 파일에 만든 마지막으로 수정 한 것입니다

그래서 일부 파일을 untrack해야

에 영향을 내 악몽

을 시작하는 곳이다 아니다

이 폴더를 untrack하려면 {1} here 및 {2} here

의 설명을 따르십시오. 다음

{1}

$ git update-index --assume-unchanged images/* 
fatal: Unable to mark file images/02102012_planos.jpg 

질문 1 : 왜이 ​​특정 파일을 untrack 수없는 이유는 무엇입니까?

특정 파일을 {2}

$ git rm --cached images/ -r 
fatal: pathspec 'images' did not match any files 

같은 결과에 따라

$ git rm --cached images/20130626tabela1.jpg 
fatal: pathspec 'images/20130626tabela1.jpg' did not match any files 

질문 2 :이 오류 메시지가 나타납니다 이유는 무엇입니까? 여기를 검색하면 this으로 연결되지만, 내가 말했듯이/images 아래에있는이 파일들은 추적됩니다.

그리고 케이크 체리

내가이 명령을 나에게 이미지, 관리자 및 mpdf61 폴더 내의 파일의 아주 긴 목록을 제공

$git ls-files --others -i --exclude-standard 

를 실행 무시 파일의 목록을 확인합니다. mpdf61 폴더가 gitignore 파일에 구성되지 않았으며 info/exclude에 구성되어 있지 않습니다.

Question 3: Why the mpdf61 appears in this list? 
+0

'git status'결과를 표시 할 수 있습니까? –

답변

2

참고 : "추적"은 ​​"색인에 있음"을 의미합니다. "Untracked"는 "색인에 없습니다"를 의미합니다. 일반적으로 파일 untracked-ness의 표시는 무시 된 경우 표시되지 않으므로 일부 사용자는 "untracked 및 ignored both"상태 인 파일을 "무시 된"상태로 조용히 "untracked"상태로 표시합니다. 색인은 현재 HEAD 커밋과 일치 할 필요는 없습니다. 즉, 색인을 변경하여 다음에 커밋을 준비하는 방법입니다. 이러한 변경은 커밋을 한 후에 만 ​​영구적 인 커밋의 일부가되며, 커밋을 수행하는 동작은 업데이트도 HEAD으로 업데이트됩니다.


$ git update-index --assume-unchanged images/* 
fatal: Unable to mark file images/02102012_planos.jpg 

질문 1 : 왜이 ​​특정 파일을 untrack 수없는 이유는 무엇입니까?

추적 할 수 없으므로 트랙킹을 해제 할 수 없습니다. 또한 git update-index --assume-unchanged은 처음부터 파일을 untrack하지 않습니다.update-index을 "변경하지 않음"비트를 업데이트하려면 파일이 색인에 있어야하며 update-index에 업데이트 할 항목이 있어야합니다. 이 fatal 오류는 추적 할 수없는 (색인에없는) 첫 번째 파일에서 발생합니다. *의 셸 확장으로 명명 된 후속 파일 중 아무 것도 발생하지 않습니다. 첫 번째 오류가 발생하면 update-index이 중지됩니다.

(당신이 git update-index --assume-unchanged red.txt blue.jpg green.svg을 실행하고 blue.jpg 인덱스에 하지 동안 모두 red.txtgreen.svg색인에 경우 예를 들어, update-index 인덱스 red.txt에 대한 항목이 아닌 green.svg에 대한 하나를 표시합니다.)


$ git rm --cached images/20130626tabela1.jpg 
fatal: pathspec 'images/20130626tabela1.jpg' did not match any files 

질문 2 :이 에로을받을 이유 r 메시지?

해당 파일도 (색인에없는) 추적되지 않으므로 색인에서 제거 할 수 없기 때문에. 이 :

$ git rm --cached images/ -r 
fatal: pathspec 'images' did not match any files 

images/ 파일 인덱스에 (지금) 없음을 의미한다. (아마도 일부는 이전했고, 커밋 HEAD에 따라서, 그러나 더 이상 git rm --cached 이전 성공 후, 없다, 그렇다면 "삭제", 그들은 git status에 표시한다.)


$ git ls-files --others -i --exclude-standard 

이미지, 관리자 및 mpdf61 폴더 내에있는 매우 긴 파일 목록을 제공합니다. mpdf61 폴더는 gitignore 파일에 구성되지 않고 info/exclude에 구성되지 않습니다.

질문 3 : mpdf61이이 목록에 나타나는 이유는 무엇입니까?

아마도 이러한 파일이 무시되기 때문일 수 있습니다.

--exclude-standard
            표준 망할 놈의 제외를 추가 : 다음 git ls-files 문서에서와 같이 세 가지 "표준"제외 파일 클래스가있다 .git/정보는/제외, 각 을 .gitignore 디렉토리 사용자의 전역 제외 파일.

(모두 강조 표시). gitignore 파일을 "the"라고했는데 디렉토리 자체에 mpdf61 디렉토리를 포함하여 많은 파일이있을 수 있으며 core.excludesFile을 구성했을 수 있습니다.

특정 파일을 무시하는 ignore 명령을 찾으려면 git check-ignore -v을 사용하십시오. the git check-ignore documentation을 참조하십시오.