깃 히스토리 특정 파일 삭제

ᄋᄋ·2023년 3월 28일
0

참고_링크

1. git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch 경로/파일명.확장자' --prune-empty --tag-name-filter cat -- --all

2. git add .

3. git commit -m "[Delete] file from history"

4. git push origin --force --all

이 명령어는 Git 저장소의 모든 브랜치와 태그에 대해, 지정된 경로와 파일명에 해당하는 파일을 삭제하는 Git 명령어입니다.

git filter-branch: Git 저장소의 커밋을 재작성할 때 사용하는 명령어입니다.

--force: 강제로 작업을 수행하도록 지정합니다.

--index-filter: Git 저장소의 인덱스를 변경하는 필터를 지정합니다.

git rm --cached --ignore-unmatch 경로/파일명.확장자: 지정된 경로와 파일명에 해당하는 파일을 Git의 인덱스에서 삭제합니다.

--prune-empty: 커밋이 빈 커밋일 경우 삭제합니다.

--tag-name-filter cat: 모든 태그를 다시 생성하도록 설정합니다.

-- --all: 모든 브랜치와 태그에 대해 작업을 수행합니다.

주의해야 할 점은, 이 명령어는 Git 저장소의 히스토리를 수정하므로, 수정한 커밋 이후의 모든 커밋의 해시값이 변경됩니다. 따라서, 다른 사용자들과 협업하고 있는 프로젝트의 경우, 수정한 히스토리를 push하기 전에 다른 사용자들과 충분한 협의를 거쳐야 합니다.

profile
개발자A

0개의 댓글