Git 과 Github 를 사용하다 보면 rivate 일 경우에도 remote 에 올리지 말아야할 password 나 secret_key 등의 민감한 데이터를 commit 하는 실수를 할 수 있습니다.
git filter-branch를 통해 해당 파일을 git 전체 히스토리에서 필터링해여 재작성해줍니다.
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch {filename}' --prune-empty -- --all
예제)
filename 에 경로까지 작성합니다.
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch gf5/console/basic.php' --prune-empty -- --all
Rewirte 와 커밋 리스트가 출력되면서 작업이 완료 됩니다.
마지막으로 아래 명령어를 통해 강제 push를 하게되면 remote 역시 해당 file의 history가 삭제됩니다.
git push origin --force --all
위 명령어가 수행되지 않을때
github Cannot rewrite branches: You have unstaged changes.
git status
git add --all
수정된 파일이 없는지 확인해 봅니다.
'Git' 카테고리의 다른 글
git fatal remote error CAPTCHA required (1) | 2022.06.26 |
---|---|
git 특정 폴더만 받기 Clone 하기 (0) | 2022.06.21 |
git 커밋 git add -p 명령어를 사용해서 커밋하기 (0) | 2021.10.11 |
소스트리 Remote에 있는 브랜치 상태 갱신 하는 방법 (0) | 2021.09.15 |
github remote: Permission to 403 에러 (0) | 2021.04.01 |
개의 댓글