git은 여전히 ​​.gitignore에 추가 한 후 수정 된 파일을 보여줍니다 ? 나는

이것을 .gitignore 파일에 추가하고 있습니다

.idea/*

어쨌든 상태는 다음과 같습니다.

#       modified:   .gitignore
#       modified:   .idea/.generators
#       modified:   .idea/dovezu.iml
#       modified:   .idea/misc.xml
#       modified:   .idea/workspace.xml

내가 뭘 잘못하고 있죠 ? 나는 심지어 ~ / .gitignore_global 에 .idea / *를 추가
했지만 자식 상태는 어쨌든 나를 보여줍니다.

#       modified:   .gitignore
#       modified:   .idea/.generators
#       modified:   .idea/dovezu.iml
#       modified:   .idea/misc.xml
#       modified:   .idea/workspace.xml


답변

귀하 .gitignore는 작동하지만 파일이 이미 색인에 있었기 때문에 여전히 파일을 추적합니다.

이것을 막으려면 다음을 수행해야합니다. git rm -r --cached .idea/

커밋하면 .idea/디렉토리가 git 저장소에서 제거되고 다음 커밋은 .idea/디렉토리 를 무시합니다 .

추신 : 디렉토리를 무시하는 .idea/대신 사용할 수 있습니다 .idea/*. 당신의 패턴에 대한 자세한 정보를 찾을 수 있습니다 .gitignore의 맨 페이지를 .


git-rm매뉴얼 페이지 에서 유용한 인용문

--cached
    Use this option to unstage and remove paths only from the index.
    Working tree files, whether modified or not, will be left alone.

답변

이 문제를 여전히 검색하는 사람들에게이 페이지 만보고 있습니다.

이렇게하면 캐시 된 인덱스 파일을 제거한 다음 .gitignore파일 변경 사항을 포함하여 필요한 파일 만 추가 할 수 있습니다.

1. git rm -r --cached .
2. git add .
3. git commit -m 'Removing ignored files'

여기 좀 더 자세한 정보가 있습니다.

  1. 이 명령은 인덱스에서 모든 캐시 된 파일을 제거합니다.
  2. 이 명령은에 언급 ​​된 파일을 제외한 모든 파일을 추가합니다 gitignore.
  3. 이 명령은 파일을 다시 커밋하고 git이 무시할 파일을 제거하지만 로컬 디렉토리에 보관합니다.

답변

여기 및 다른 곳에서 제공되는 솔루션은 저에게 효과적이지 않으므로 향후 독자를위한 토론에 추가하겠습니다. 나는 아직 절차를 완전히 이해하지는 못했지만 마침내 (유사한) 문제를 해결하고 공유하고 싶다.

Windows 10의 IntelliJ IDEA에서 자식으로 작업 할 때 실수로 수백 개의 파일로 일부 문서 디렉토리를 캐시했습니다. .gitignore (아마도 조금 움직여서) 기본 변경 목록에서 제거 할 수 없었습니다.

나는 처음에 내가 한 실제 변화를 저지른 다음이 문제를 해결했습니다. 나는 시도 git rm -r --cached .했지만 항상 및 플래그 와는 path-spec다른 변형으로 오류 path-spec가 발생합니다 .-f-r

git status여전히 파일 이름을 표시하므로으로 일부 동사를 사용해 git rm -cached보았지만 운이 없었습니다. 변경 사항을 숨기고 고정 해제하는 것이 효과가있는 것처럼 보였지만 일정 시간이 지나면 다시 대기열에 들어갔습니다 (정확한 기간에는 약간 흐릿합니다). 나는 마지막 으로이 항목을 잘 사용하여 제거했습니다.

git reset

실제로 커밋하려는 변경 / 캐시 된 변경 사항이없는 경우 이것이 GOOD IDEA라고 가정합니다.


답변

간단히 추가 git rm -r --cached <folder_name/file_name>

때때로, 파일의 commit 명령 후에 .gitignore 파일을 업데이트합니다. 따라서 파일이 메모리에 캐시됩니다. 캐시 된 파일을 제거하려면 위 명령을 사용하십시오.


답변

  1. 힘내 추가.

  2. 힘내 상태 // 수정중인 파일 확인

    // git reset HEAD — 무시하려는 파일로 바꿉니다.

  3. git reset HEAD .idea / <-commit // git check status 전에 .idea를 제외시키려는 사람들은 아이디어 파일이 사라지고 준비가 완료되었습니다!

  4. git commit -m ”

  5. 자식 푸시