디렉토리의 모든 파일 (특정 유형의)에 대한 변경 사항을 무시하려면 이러한 접근법 중 일부를 결합해야했습니다. 그렇지 않으면 파일이 이전에 존재하지 않은 경우 파일이 만들어졌습니다.
아래에서 "excludedir"은 변경 사항을보고 싶지 않은 디렉토리의 이름입니다.
먼저, 파일 시스템에서 제거하지 않고 변경 내용 추적 캐시에서 기존의 새 파일을 제거하십시오.
git status | grep "new file:" | cut --complement -d " " -f1-4 | grep "^excludedir" | xargs git rm --cache
당신도 같은 작업을 수행 할 수 있습니다 modified:
. 새 파일 이름에 대한 renamed:
포스트 ->
비트 를보고 아래 ->
설명 된대로 프리 비트를 수행해야하므로 조금 더 복잡 deleted:
합니다.
deleted:
로컬 시스템에 존재하지 않는 파일의 색인을 업데이트 할 수 없으므로 파일이 좀 더 복잡해집니다.
echo .deletedfiles >> .gitignore
git status | grep "deleted:" | cut --complement -d " " -f1-4 | grep "^excludedir" > .deletedfiles
cat .deletedfiles | xargs -d '\n' touch
cat .deletedfiles | xargs -d '\n' git add -f
cat .deletedfiles | xargs -d '\n' git update-index --assume-unchanged
cat .deletedfiles | xargs -d '\n' rm
위 목록의 마지막 명령은 파일 시스템에서 파일을 다시 제거하므로 생략하십시오.
그런 다음 해당 디렉토리에서 변경 내용 추적을 차단하십시오.
git ls-files excludedir/ | xargs git update-index --skip-worktree
git update index --skip-worktree excludedir/
.csproj
파일 변경 사항을 추적하고 싶지 않은 이유가 궁금 합니다. 이는 프로젝트의 중요한 부분입니다. 추적 할 수없는.csproj.user
파일 또는 파일 에 대한 변경 사항.Publish.XML
추적이 불가능한 이유에 대해 궁금한 점이 있습니다.csproj
.