한 번도 커밋 되지 않은 파일은 .gitignore 를 사용하여 변경 사항을 무시 할 수 있습니다.
하지만 커밋 된 적이 있는 파일은 .gitignore 에 등록 해도 변경 사항을 추적 하게 되죠.

아래는 git 에서 한 번 커밋 된 파일의 수정 사항을 무시 하는 명령어 입니다.

특정 파일의 수정사항 무시하기

git update-index --assume-unchanged [file path]

특정 파일의 수정사항 무시 취소하기

git update-index --no-assume-unchanged [file path]

수정사항 무시 파일 조회

git ls-files -v|grep '^h'

파일을 수정 했을 때, .gitignore 에 등록 되지 않았는데도 index 로 add 할 수 없다면 assume-unchanged 로 설정 된 것이 아닌 지 확인 해 보는 것이 좋습니다.

그리고 submodule 내에 있는 파일을 assume-unchanged 로 설정 할 때에는, 먼저 실행 경로를 submodule 저장소로 바꾼 뒤 명령어를 실행 해야 합니다. 실행 경로가 submodule 내부로 바뀌어야 git 명령을 submodule 내부 파일에 적용 할 수 있기 때문입니다.