developer tip

.gitignore가 작동하지 않습니다.

copycodes 2020. 12. 14. 20:03
반응형

.gitignore가 작동하지 않습니다.


이 질문에 이미 답변이 있습니다.

나는했습니다 .gitignore내의 repo의 루트에 파일을. .gitignore파일은 컴파일 된 파이썬 파일을 제외하려면 다음 패턴을 가지고 있으며,이 파일의 유일한 라인입니다.

*.pyc

이제 저장소의 루트에서 다음을 수행 할 때.

git init
git add . 
git status 

여전히 .pyc파일을 추적하고 새 파일로 추가하려고합니다. 아래 출력을 참조하십시오.

시스템 정보 : Windows 7, cygwin

참고 :이 문제는 이미 추적중인 무시 된 파일에 대한 것이 아닙니다. 또한 .gitignore파일 에서 DOS 및 Unix 스타일 줄 끝을 모두 시도했습니다 .

git status 제공합니다 :

# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#   new file:   .gitignore
#   new file:   feedapp/__init__.py
#   new file:   feedapp/appconfig.py
#   new file:   feedapp/appconfig.pyc

이 문제를 추가로 해결하려면 어떻게해야합니까?


.gitignore추적되지 않은 파일 에만 적용됩니다 . 당신이 추적하는 경우 .pyc다음 .gitignore적용되지 않습니다. .pycwith를 제거 git rm하고 다음에 git status그것을 할 때 (및 다른 모든 것)은 추적되지 않은 파일 목록에 표시되지 않으며 자동으로 추가되지도 않습니다.


그렇지 않으면 이미 버전 제어중인 파일을 무시해야하는 경우 이미 버전 제어중인 파일의 변경 사항을 무시하도록 색인을 업데이트하십시오.

git update-index --assume-unchanged <files>

자세한 내용은 다음을 참조하시기 바랍니다 자식 업데이트 인덱스 (1) 매뉴얼 페이지관련된 답변을 무시하지 .gitignore 파일(질문 관련 답변 : 파일 버전 제어 무시 GIT ) .


man gitignore:

gitignore 파일은 git이 무시해야하는 ** 추적되지 않은 파일 **을 의도적으로 지정합니다. 모든 gitignore 파일은 실제로 git에 의해 추적되지 않은 파일에만 관련됩니다.

git rm file추적을 중지합니다. 저장소에서 무시 된 모든 파일을 제거하는 방법을 찾을 수 없습니다.


지적했듯이 파일은 이미 저장소에 존재하지 않는 것으로 보입니다. 이 경우 귀하 git의 행동이 문서 나 내 행동과 일치하지 않으며 도와 드릴 수 없습니다.

$ mkdir foo
$ cd foo
/home/ikegami/foo
$ mkdir feedapp
$ touch feedapp/__init__.py
$ touch feedapp/appconfig.py
$ touch feedapp/appconfig.pyc
$ echo '*.pyc' > .gitignore
$ git init
Initialized empty Git repository in /home/ikegami/foo/.git/
$ git add .
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   .gitignore
#       new file:   feedapp/__init__.py
#       new file:   feedapp/appconfig.py
#
$ 

아마도 당신은

git init
git add .
echo '*.pmc' >> .gitignore
git init
git add .

이 경우 다음을 사용하여 문제를 해결할 수 있습니다.

git rm --cached -r .
git add .

나는 똑같은 문제가 있었다. 나는 실행 "someText" > .gitignore이 이상한 인코딩으로 파일을 만든다는 것을 알았다 . UTF-8로 변경 한 다음 모두 정상적으로 작동했습니다.


I have had exactly the same problem--even if I prepare a .gitignore file before the first time I add anything. And I found the problem was in the blank space in my ignore file. DO NOT add any white space in your ignore file and try again. I think everything will just work fine. Good luck


Check the line endings on your .gitignore file. In an OS X repo, mine was using CR line endings. Everything worked again after switching over to LFs.

perl -p -e 's/\r/\n/g'  < .gitignore > .gitignore-new
mv .gitignore-new .gitignore

Console jockeys will likely want to use sed instead.

Background: I had copied my working copy from a Windows repository after a power failure.

참고URL : https://stackoverflow.com/questions/6380196/gitignore-does-not-work

반응형