728x90
반응형
질문 : 추적을 중지하고 Git에서 파일 변경 사항을 무시하는 방법
.csproj
파일이 포함 된 프로젝트를 복제했습니다. 나는 내 로컬 csproj
파일이 Git에 의해 추적되는 (또는 패치를 만들 때 가져 오는) 필요 / 좋지 않지만 분명히 프로젝트에서 필요합니다.
*.csproj
를 내 LOCAL .gitignore
에 추가했지만 파일이 이미 저장소에 있습니다.
git status를 입력하면 패치를 추적하거나 제출하는 데 관심이없는 csproj
상태를 수행하거나 패치를 생성 할 때 변경 사항을 볼 수 없도록 개인 리포지토리에서 이러한 파일의 "추적"을 제거하려면 (하지만 소스에 보관하여 사용할 수 있도록) 어떻게해야합니까?
이 상황을 처리하는 올바른 / 표준적인 방법이 있습니까?
답변
개정 관리에서 제거하려는 각 파일에 대해 git rm --cached
를 호출하는 것만으로도 문제가 없습니다. 로컬 무시 패턴이 올바른 한 git status 출력에 이러한 파일이 포함되어 있지 않습니다.
이 솔루션은 저장소에서 파일을 제거하므로 모든 개발자는 파일의 자체 로컬 (수정되지 않은) 복사본을 유지해야합니다.
git이 이러한 파일의 변경 사항을 감지하지 못하도록하려면 다음 명령도 사용해야합니다.
git update-index --assume-unchanged [path]
당신이 아마하고 싶은 것 : (아래에서 @Ryan Taylor 대답 )
- 이것은 파일이나 폴더의 독립적 인 버전을 원한다고 git에게 알리기위한 것입니다. 예를 들어 프로덕션 / 스테이징 구성 파일을 덮어 쓰거나 삭제하고 싶지 않습니다.
git update-index --skip-worktree <path-name>
전체 답변은 다음 URL에 있습니다. http://source.kohlerville.com/2009/02/untrack-files-in-git/
출처 : https://stackoverflow.com/questions/936249/how-to-stop-tracking-and-ignore-changes-to-a-file-in-git
728x90
반응형
'개발관련 > Git' 카테고리의 다른 글
한 git 저장소에서 다른 저장소 (복제본 아님)로 파일을 이동하여 기록을 보존하는 방법 (0) | 2021.11.29 |
---|---|
모든 Git 태그를 나열하는 방법 (0) | 2021.11.29 |
한 Git 브랜치에서 다른 Git 브랜치로 단일 파일 버전을 복사하는 방법 (0) | 2021.11.26 |
푸시 된 후 git에서 커밋을 스쿼시하는 방법 (0) | 2021.11.26 |
git 스테이징 영역에서 파일을 제거하는 방법 (0) | 2021.11.26 |