-
Git - git.ignore파일 적용되지 않는 경우Git 2024. 12. 5. 11:36반응형
git.ignore파일 적용되지 않는 경우
원인: .gitignore는 Git이 추적하지 않는 파일에만 영향을 미칩니다. 이미 Git에 커밋되거나 추가된 파일은 .gitignore를 추가해도 무시되지 않습니다.
그렇기 때문에, 추적파일을 초기화해주면 됩니다. 아래의 명령어를 통해 추적파일을 초기화해주면 됩니다.
git rm -r --cached . git add . git commit -m "fixed untracked files"
1. git rm -r --cached .
- 기능: Git의 **인덱스(index)**에서 파일을 제거하지만, 실제 파일 시스템(로컬 디렉토리)에서는 파일을 삭제하지 않습니다.
- 동작 원리:
- rm: Git에서 파일을 제거하는 명령.
- -r: 디렉토리와 그 하위 파일들을 재귀적으로 처리.
- --cached: 파일을 인덱스에서만 제거하고 워킹 디렉토리에는 그대로 둠.
- 용도:
- 이미 Git에 추가되었지만 .gitignore에 의해 무시되어야 하는 파일을 처리할 때 주로 사용합니다.
- 파일이 잘못 트래킹되었을 때 Git의 스테이징 영역에서만 제거합니다.
2. git add .
- 기능: 워킹 디렉토리의 변경 사항을 모두 Git의 인덱스에 추가합니다.
- 동작 원리:
- Git은 변경된 파일을 인덱스에 추가하여 다음 커밋에 포함시킵니다.
- .은 현재 디렉토리와 그 하위 디렉토리의 모든 파일을 대상으로 합니다.
- 용도:
- 인덱스에서 제거된 파일을 다시 추가합니다.
- .gitignore 파일의 수정 사항이 반영되었을 경우, 무시되지 않는 파일들만 다시 인덱스에 포함시킵니다.
3. git commit -m "fixed untracked files"
- 기능: 현재 인덱스 상태를 커밋하여 스냅샷으로 저장합니다.
- 동작 원리:
- Git은 인덱스에 추가된 변경 사항을 기반으로 커밋을 생성합니다.
- -m 옵션을 사용하여 커밋 메시지를 인라인으로 작성합니다.
- 용도:
- .gitignore로 인해 추적이 중단된 파일 상태를 정리하고 새로운 상태를 저장하는 데 사용합니다.
예제 시나리오의 흐름
- 기존 상태:
- 이미 Git에 트래킹되던 파일이 .gitignore에 추가되었지만 여전히 인덱스에서 관리되고 있는 상황.
- 명령 실행 후 결과:
- git rm -r --cached .:
- 인덱스에서 모든 파일이 제거되고 .gitignore에 의해 무시된 파일은 다음 단계에서 제외됨.
- git add .:
- .gitignore에 의해 무시되지 않는 파일들만 다시 인덱스에 추가됨.
- git commit -m "fixed untracked files":
- 새로운 상태로 정리된 인덱스를 커밋으로 저장.
- git rm -r --cached .:
반응형'Git' 카테고리의 다른 글
Git - 로컬 프로젝트 Git에 올리기 (0) 2024.10.23 Git - 브랜치 이름 변경, 브랜치 생성, 브랜치 삭제, 복구 (0) 2024.10.17 Git - Repository 등록하기 (0) 2024.10.16 [Git] - 원격 브랜치 삭제 후에도 로컬에서 남아 있는 브랜치 정리 방법 (0) 2024.10.10 [Sourcetree] - 커밋시 커밋메시지 한글 깨지는 현상 (0) 2024.02.19