내 프로젝트의 루트에는 foo
폴더가 있습니다. foo
폴더 안에 bar
폴더가 있습니다. 내 bar
폴더 내의 모든 파일에 대한 모든 변경 사항을 무시하고 싶습니다 . 나는 이것을 내 안에있다 gitignore
:
/foo/bar
폴더가 확인되었습니다. 폴더가 존재하며 무시할 파일이 있습니다. gitignore
인 commit
테드. 그러나, 나는 화를 내고 bar
폴더 안에있는 파일을 가지고 있습니다 . 입력 할 때
git status
내 안에는 git bash
무시해야 할 파일이 있습니다. 이유는 무엇이며 바 폴더 내의 모든 파일을 어떻게 무시할 수 있습니까?
파일은 이전에 동일한 줄로 무시되었지만 commit
서버에서 그 줄을 일시적으로 제거해야했습니다 . 이후 commit
에 나는에 줄을 다시 넣었다 gitignore
. 이것은 얼마 전이지만 지금은 파일이에 있음을 알았습니다 git status
. 에 표시되지 않은 무시 된 파일을 수정할 수있을 것으로 기대합니다 git status
.
답변
이 폴더가 이전에 자식으로 체크인 된 것 같아요?
실행 git rm -r --cached <folder>
하고 다시 확인하십시오.
답변
나에게 받아 들여진 대답은 전체 솔루션이 아니라 솔루션의 일부였습니다. 어쩌면 게시하려는 다른 단계가 분명했지만 먼저 누락되었습니다. 내 .gitignore
파일에서 무시하려는 폴더를 무시 하도록하기 위해 수행 한 단계는 다음과 같습니다 .
- 수정 / 변경해야 할 변경 사항을 커밋하십시오.
- 이 명령을 실행하십시오 :
git rm -r --cached .
(git 저장소를 새로 고치기 위해 git 인덱스에서 모든 것을 제거합니다) - 그런 다음이 명령을 실행하십시오 :
git add .
(모든 것을 repo에 다시 추가하려면) - 마지막으로 다음을 사용하여 이러한 변경 사항을 커밋하십시오.
git commit -m ".gitignore Fixed"
당신은 내가 해결책을 찾을 곳에서 기사의 링크를 찾을 수 있습니다 여기를 .
답변
나는이 문제를 겪고 있었고 git이 실제로 파일 / 폴더를 올바르게 무시하고 있음을 깨달았지만 내 코드 편집기 (Visual Studio Code)는 버그가 많았고 UI 사이드 바에서 제대로 “회색되지 않습니다”. VSCode를 다시 시작했는데 예상대로 회색으로 표시되었습니다.
답변
허용 된 답변에 추가로
git rm -r --cached /foo/bar/
git status
내가 그렇게하면 터미널은 rm
그 디렉토리에 있는 많은 파일을 보여줍니다 . 따라서 원격에 불필요하게 영향을 줄 수있는 다른 커밋을 방지하기 위해 다음과 같이했습니다.
git reset HEAD *
git status
그 후, 그것은 커밋 할 것이 없으며 내부 파일을 수정 /foo/bar/
하고 git status
여전히 얻을 수 있다고 말했습니다 nothing to commit
.