내 git 리비전에 포함되지 않은 파일이 있다고 알았습니다. 암호, API 키 및 영업 비밀 문서 등.특정 파일/폴더를 git 리비전에서 삭제하십시오.
표시되는 수정본에서 해당 파일을 삭제하는 방법이 있습니까? 그리고 그 파일의 나머지는 여전히 그 개정판에 보관하시오.
내 git 리비전에 포함되지 않은 파일이 있다고 알았습니다. 암호, API 키 및 영업 비밀 문서 등.특정 파일/폴더를 git 리비전에서 삭제하십시오.
표시되는 수정본에서 해당 파일을 삭제하는 방법이 있습니까? 그리고 그 파일의 나머지는 여전히 그 개정판에 보관하시오.
git filter-branch
이 유용 할 수 있습니다. 이렇게하면 커밋 된 내용을 변경하여 일련의 과거 커밋을 다시 작성할 수 있습니다.
변경 사항이 로컬 저장소를 떠나 본 적이없는 경우이 작업이 수행됩니다. 문제를 일으키는 변경 사항을 어딘가에 푸시했거나 누군가가 내게서 빼앗긴 경우 의 모든 사람 저장소에서 문제를 해결할 수 있습니다.
git filter-branch --index-filter 'git rm --cached --ignore-unmatch bad-file1.txt bad-file2.txt' master..abc
이는 :
git filter-branch
을 :
그러나, 당신의 로컬 저장소를 해결하기 위해의 일부 커밋을 다시 보자!
--index-filter
: 실제로 디스크에서 체크 아웃하지 않고 각 커밋의 색인을 변경하십시오.
'git rm --cached --ignore-unmatch bad-file1.txt bad-file2.txt'
: 각 커밋에 대해 두 파일이 존재하면이를 제거하십시오.
master..abc
:이 작업은 master 분기에서 분기 한 지점으로 되돌아가는 지점 abc의 모든 커밋에서 수행하십시오. 또한 "master~3
"이라고 말하면 지난 3 회의 커밋 또는 다른 range of revisions을 다시 작성할 수 있습니다. "-- --all
"(두 개의 대시, 공백, 두 개의 대시, "모두")을 사용하여 저장소의 모든 내용을 다시 쓸 수 있습니다.
이것은 그 것이다. 고마워, 나는 실수로 로그 파일과 tmp 파일을 체크인했다 : / – Bill