728x90
반응형
질문 : .gitignore에 추가 한 후 원격 저장소에서 디렉토리 제거
나는 일부 디렉토리를 github에 커밋하고 푸시했습니다. 그 후 무시해야 할 디렉토리를 추가 .gitignore
모든 것이 잘 작동하지만 (이제 무시 된) 디렉토리는 github에 남아 있습니다.
github 및 저장소 기록에서 해당 디렉토리를 어떻게 삭제합니까?
답변
.gitignore
파일의 규칙은 추적되지 않는 파일에만 적용됩니다. 해당 디렉터리에있는 파일이 이미 저장소에 커밋되었으므로 해당 파일을 언 스테이징하고 커밋을 만든 다음 GitHub에 푸시해야합니다.
git rm -r --cached some-directory
git commit -m 'Remove the now ignored directory "some-directory"'
git push origin master
리포지토리 기록을 다시 작성하지 않고 기록에서 파일을 삭제할 수 없습니다. 다른 사람이 리포지토리로 작업 중이거나 여러 컴퓨터에서 사용중인 경우이 작업을 수행하면 안됩니다. 그래도 그렇게하고 싶다면 git filter-branch
를 사용하여 기록을 다시 작성할 수 있습니다. 여기에 유용한 가이드가 있습니다.
git rm -r --cached some-directory
의 출력은 다음과 같습니다.
rm 'some-directory/product/cache/1/small_image/130x130/small_image.jpg'
rm 'some-directory/product/cache/1/small_image/135x/small_image.jpg'
rm 'some-directory/.htaccess'
rm 'some-directory/logo.jpg'
rm
은 저장소에 대한 git의 피드백입니다. 파일은 여전히 작업 디렉토리에 있습니다.
출처 : https://stackoverflow.com/questions/7927230/remove-directory-from-remote-repository-after-adding-them-to-gitignore
728x90
반응형
'개발관련 > Git' 카테고리의 다른 글
Git에서 "origin"에 대한 설명 (0) | 2021.11.23 |
---|---|
git-merge --dry-run 옵션 (0) | 2021.11.23 |
Git 리포지토리의 하위 디렉터리만 복제하는 방법 (0) | 2021.11.22 |
로컬 Git 브랜치를 원격의 마스터 브랜치로 푸시하는 방법 (0) | 2021.11.22 |
Git의 비밀번호를 업데이트 하는 방법 (0) | 2021.11.22 |