커밋 된 파일에 .gitignore 적용
무시하고 싶은 많은 파일을 커밋했습니다. 앞으로 커밋에서 이러한 파일을 무시하도록 git에 어떻게 알릴 수 있습니까?
편집 : 저장소에서도 제거하고 싶습니다. 이 파일은 빌드 후 또는 사용자 별 툴링 지원을 위해 생성 된 파일입니다.
.gitignore
무시하려는 파일과 일치하도록 편집git rm --cached /path/to/file
또한보십시오:
- 디스크에서 파일을 삭제하지 않고 파일을 어떻게 git rm합니까?
- 로컬 파일 시스템에서 파일을 삭제하지 않고 Git 저장소에서 파일을 제거하십시오.
- Git 저장소에서 디렉토리를 추가 한 후 무시
.gitignore
무시 된 파일과 일치하도록 편집 한 후 git ls-files -ci --exclude-standard
제외 목록에 포함 된 파일을 볼 수 있습니다 . 그런 다음 git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
디스크에서 삭제하지 않고 리포지토리에서 제거 할 수 있습니다 .
편집 : .gitconfig 파일에서이 별칭을 별칭으로 추가하여 언제든지 언제든지 실행할 수 있습니다. [alias] 섹션 아래에 다음 줄을 추가하십시오.
apply-gitignore = !git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
( -r
에서 플래그 xargs
방지 git rm
빈 결과에서 실행하고 사용법 메시지를 인쇄,하지만 GNU의 findutils의에 의해 지원 될 수에서. 다른 버전 xargs
또는 유사한 옵션이 표시되지 않을 수 있습니다.)
이제 git apply-gitignore
레포를 입력 하면 작업이 완료됩니다!
파일을 리포지토리에 남겨두고 향후 변경 사항은 무시하십시오.
git update-index --assume-unchanged <file>
그리고 이것을 취소하려면 :
git update-index --no-assume-unchanged <file>
이 방법으로 설정된 파일을 찾으려면 다음을 수행하십시오.
git ls-files -v|grep '^h'
http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/ 에 대한 원래 답변에 대한 크레딧
실제 레포가 최신 버전인지 확인하십시오
.gitignore
원하는대로 편집git rm -r --cached .
git add .
평소처럼 커밋
오래된 질문이지만 우리 중 일부는 git-posh
(파워 쉘)에 있습니다. 이것이 그 해결책입니다.
git ls-files -ci --exclude-standard | foreach { git rm --cached $_ }
다음과 같이하세요:
gitignore
파일 경로 추가이 명령을 실행
git rm -r --cached foldername
평소대로 변경 사항을 커밋하십시오.
참고 URL : https://stackoverflow.com/questions/7527982/applying-gitignore-to-committed-files
'Programing' 카테고리의 다른 글
vi / Vim에서 여러 줄을 선택할 때 텍스트를 어떻게 삽입합니까? (0) | 2020.02.23 |
---|---|
JavaScript Date를 자정으로 초기화하는 가장 좋은 방법은 무엇입니까? (0) | 2020.02.23 |
모든 오류 및 경고 표시 (0) | 2020.02.23 |
C # if / then 지시어 대 디버그 대 릴리스 (0) | 2020.02.23 |
파일의 절대 경로를 인쇄하는 bash / fish 명령 (0) | 2020.02.23 |