스택큐힙리스트

.gitignore에 추가한 파일은 Git에서 더 이상 추적하지 않도록하려면 어떻게해야 합니까? 본문

카테고리 없음

.gitignore에 추가한 파일은 Git에서 더 이상 추적하지 않도록하려면 어떻게해야 합니까?

스택큐힙리스트 2023. 3. 10. 20:33
반응형

Git로 이전에 추적되던 파일을 .gitignore 리스트에 넣었습니다. 하지만 편집 후에도 파일이 git status에 표시됩니다. Git에서 파일을 완전히 잊도록 어떻게 강제로 할 수 있을까요?

답변 1

.gitignore는 Git이 추적하는 파일 집합에 기록하지 않는 미추적 파일을 방지합니다 ( add -f이 없이). 그러나 Git은 이미 추적 중인 파일은 계속해서 추적합니다.

파일 추적을 중단하려면 인덱스에서 제거해야합니다.

"git rm --cached

"

폴더와 폴더 내 모든 파일을 재귀적으로 삭제하려면:

"git rm -r --cached

"

다음 커밋에서 헤드 리비전에서 파일이 제거될 것입니다.

경고: 이 작업은 로컬 기기에서 실제 파일을 제거하지는 않지만, 다음 git pull에서 다른 개발자들의 기기에서 파일을 제거할 것입니다.

답변 2

Git에서 .gitignore 파일에 추가된 파일을 추적했던 경우, git이 이를 '기억'하는 것은 문제를 일으킬 수 있습니다. 이 상황에서는 이 파일을 git의 추적목록에서 제거해야합니다. 이를 위해, git 스테이지에서 해당 파일을 제거해야 합니다.

우선, .gitignore 파일에 이 파일을 추가합니다. 이를 통해 git은 해당 파일을 추적하지 않는 것을 감지할 것입니다. 그러나, 이미 이전에 파일이 추적되었다면, git은 추적 중지를 해도 계속해서 파일을 추적할 수 있습니다. 이때, 다음 명령어를 실행하여 git 스테이지에서 해당 파일을 제거합니다.

$ git rm --cached [파일명]

이 명령어는 git에서 해당 파일을 추적목록에서 제거하지만, 실제 파일은 삭제하지 않습니다. 이 파일은 현재 .gitignore 파일에 포함되어 있으므로, 다시 추적되지 않습니다.

이제 파일을 변경한 커밋을 만들어야할지 여부는 여러분의 판단에 달려있습니다. 이 파일을 세부적으로 변경했다면, 새로운 커밋을 생성하여 변경 내용을 저장해야합니다. 그러나 단순히 추적목록에서 파일을 제거할 뿐이라면, 추가 커밋은 필요하지 않습니다.

이렇게 git에서 파일을 추적목록에서 제거하는 것은 단순하지만, git 저장소를 관리하는 데 중요한 점입니다. .gitignore 파일을 사용하여 git이 추적하지 않아야 할 파일을 미리 설정해두는 것은 좋은 방법입니다. 그러나 이미 추적 중인 파일을 .gitignore파일에 추가한 경우, 해당 파일을 git 추적목록에서 제거하기 위해서 위의 명령어를 사용하시면 됩니다.

반응형
Comments