로컬 파일 시스템에서 삭제하지 않고 Git 저장소에서 파일을 제거하십시오.
질문
내 초기 커밋에는 일부 로그 파일이 포함되어 있습니다.* 내 .gitignore에 로그 로그를 추가했으며 이제는 내 저장소에서 로그 파일을 제거하고 싶습니다.
git rm mylogfile.log
리포지토리에서 파일을 제거하지만 로컬 파일 시스템에서도 제거합니다.
파일의 로컬 사본을 삭제하지 않고 REPO 에서이 파일을 제거하려면 어떻게합니까?
답변
남자 파일에서 :
--cached가 주어지면, 단계별 콘텐츠는 지점 또는 파일의 팁과 디스크의 파일과 일치해야하므로 인덱스로부터 파일을 제거 할 수 있습니다.
그래서 단일 파일의 경우 :
git rm --cached mylogfile.log
단일 디렉토리의 경우 :
git rm --cached -r mydirectory
답변
REPO (예 : ReSharper 파일)에서 전체 폴더를 제거하려면 다음을 수행하십시오.
git rm -r --cached folderName
나는 몇 가지 ReShareper 파일을 저질렀으며 다른 프로젝트 사용자를 위해 지속되기를 원하지 않았습니다.
답변
로컬 파일 시스템에서 삭제하지 않고 .gitignore를 기반으로 저장소에서 파일을 제거 할 수도 있습니다.
git rm --cached `git ls-files -i -X .gitignore`
또는 Windows PowerShell에서 대안으로 :
git rm --cached $(git ls-files -i -X .gitignore)
답변
내 대답에 따라 여기서 : https://stackoverflow.com/questions/6313126/how-to-remove-a-directory-in-my-github-a-in.in.
Local Try 3 간단한 단계에서 아닌 Git 저장소에서만 폴더 / 디렉토리 또는 파일을 제거하려면.
디렉토리를 제거하는 단계
git rm -r --cached File-or-FolderName
git commit -m "Removed folder from repository"
git push origin master
다음 커밋에서 해당 폴더를 무시하는 단계
다음 커밋에서 해당 폴더를 무시하려면 .Gitignore라는 루트에서 하나의 파일을 만듭니다. 그 폴더 이름을 넣으십시오.당신이 원하는만큼 많은 것을 넣을 수 있습니다
.gitignore 파일은 이렇게 생겼을 것입니다
/FolderName

답변
더 일반적인 솔루션 :
Edit
.gitignore
file.echo mylogfile.log >> .gitignore
Remove all items from index.
git rm -r -f --cached .
Rebuild index.
git add .
Make new commit
git commit -m "Removed mylogfile.log"
답변
또한 민감한 데이터 (예 : 암호가 포함 된 파일)를 커밋 한 경우 저장소의 기록에서 완전히 삭제해야합니다.다음을 수행하는 방법을 설명하는 가이드는 다음과 같습니다. http://help.github.com/remove-sensitive-data/
출처:https://stackoverflow.com/questions/1143796/remove-a-file-from-a-git-repository-without-deleting-it-from-the-local-filesyste
최근댓글