gitignore가 폴더를 무시하지 않음
내 프로젝트의 뿌리에는foo
폴더를 누릅니다.내부foo
가지고 있는 폴더bar
폴더를 누릅니다.내 내부의 모든 파일에 대한 모든 변경 사항을 무시합니다.bar
폴더를 누릅니다.내 안에 이것이 있습니다.gitignore
:
/foo/bar
폴더가 선택되어 있습니다. 폴더가 존재하고 무시할 파일이 있습니다. gitignore
이라commit
ted. 하지만 내가 수정한 파일이 있고 내 안에 있습니다.bar
폴더를 누릅니다.입력할 때
git status
내 안에git bash
무시했어야 할 파일이 보입니다.이유는 무엇이며 어떻게 하면 막대 폴더 내의 모든 파일을 성공적으로 무시할 수 있습니까?
참고로 이전에는 파일이 동일한 줄로 무시되었지만 일시적으로 해당 줄을 제거해야 했습니다.commit
서버에 있는 것.그 후에commit
나는 라인을 다시 안으로 넣었습니다.gitignore
이것은 조금 전의 일이지만, 나는 지금 그 파일들이 있을 것이라는 것을 관찰했습니다.git status
무시된 파일을 수정할 수 있기를 기대합니다.git status
.
이 폴더는 git에 체크인된 적이 있습니까?
달려.git rm -r --cached <folder>
다시 확인합니다.
저에게 있어서, 받아들여진 대답은 전체적인 해결책이 아니라 해결책의 일부였습니다.아마도, 제가 게시하려는 다른 단계들은 분명했지만, 저는 먼저 그것들을 놓쳤습니다.다음은 제가 수행한 단계입니다..gitignore
파일이 무시할 폴더를 무시했습니다.
- 수정/변경해야 하는 변경 사항을 커밋합니다.
- 다음 명령을 실행합니다.
git rm -r --cached .
(Git 저장소를 새로 고치기 위해 Git 인덱스에서 모든 항목을 제거합니다.) - 그런 다음 다음 명령을 실행합니다.
git add .
(모든 것을 레포에 다시 추가) - 마지막으로 다음을 사용하여 변경 사항을 커밋합니다.
git commit -m ".gitignore Fixed"
여기에서 솔루션을 찾은 기사에 대한 링크를 찾을 수 있습니다.
이것으로 해결되었습니다.
나는 했었었소.echo node_modules >> .gitignore
효과가 없었어요
Windows 터미널에서 파일을 저장합니다.UCS-2 LE BOM
그리고 깃은 그것을 받아들이지 않는 것 같습니다.
나는 파일을 열었습니다.Notepad
로 저장되었습니다.UTF-8
인코딩
이제 작동합니다.
제 생각에 그들은 이것을 고쳐야 할 것 같습니다.echo "filetoignore" >> .gitignore
실제로 하기에 편리한 것처럼 보입니다.
저는 이 문제를 겪고 있었고 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
.
에서 .를 .gitignore로 만들었습니다.echo "build" > .gitignore
UTF-16LE 인코딩으로 파일을 만들었습니다.Git는 파일의 내용을 인식하지 못했고 계속해서 보여주었습니다.build
추적되지 않은 폴더입니다.나는 파일을 삭제하고 Geany 텍스트 편집기(UTF-8)에서 다시 생성했고 git는 이제 무시합니다.build
폴더를 누릅니다.짧은 검색은 그 깃이 UTF-16을 좋아하지 않는다는 것을 다시 강조합니다.
대부분은 인코딩 문제입니다.따라서 .gitignore 파일을 삭제하고 다시 생성할 수 있습니다.
편집:
증명:
- test-gitignore라는 폴더 만들기
- 합니다.
git init
- .env 파일을 만들고 여기에 추가합니다.
- 파일을 . 할 은 ".env 파일"을 하는 것입니다.
.gitignore
동일한 :.env
그러나 .gitignore 파일을 만드는 방법은 중요합니다.파워셸의 에코 "echo >> .gitignore"를 사용하여 생성하면 git는 autf-8 인코딩된 .gitignore 파일을 예상하기 때문에 .env가 무시되지 않습니다.In PowerShell, the default encoding used by the echo command for writing text to a file is Unicode (UTF-16LE). This means that when you use the echo command to append text to a file using >>, the text will be written in UTF-16LE encoding.
이것이 바로 vscode 또는 autf-8 인코딩을 보장하는 도구를 사용하여 파일을 만드는 것이 중요한 이유입니다.
언급URL : https://stackoverflow.com/questions/24410208/gitignore-does-not-ignore-folder
'programing' 카테고리의 다른 글
SQL 개발자 오류, "모듈 사용 안 함 및 계속" (0) | 2023.07.07 |
---|---|
git을 위한 Unity 프로젝트를 준비하는 방법(단계별)? (0) | 2023.07.07 |
개체를 인코딩하는 동안 MongoDB BSON 코덱이 사용되지 않습니다. (0) | 2023.07.07 |
MongoDB 속성 이름을 줄일 가치가 있습니까? (0) | 2023.07.07 |
WP_REST_Request에서 쿼리 매개 변수에 액세스할 수 없는 이유는 무엇입니까? (0) | 2023.07.07 |