gitignore에 env파일을 올렸다던가 올리지 말아야할 파일들을 올렸을 때 git 원격 레파지토리에서 파일을 삭제해주고 커밋 기록까지 지워줘야 한다.
git에 올리면 안되는 파일이라던가 잘못된 파일을 올렸을 때 git의 원격 저장소에 있는 파일을 먼저 삭제해준다.
git rm -- [파일 경로]
// 원격 저장소와 로컬 저장소의 파일 삭제
git rm --cached [파일 경로]
// 원격 저장소의 파일만 삭제
ex)
git rm --cached -r ./scripts
git에 파일을 삭제해주어도 커밋된 기록이 있기 때문에 커밋 내역까지 삭제해주어야 한다.
git log
// 커밋 내역 확인 (q를 누르면 내역에서 나갈 수 있다.)
git reset HEAD~숫자
// ~1이면 최근 내역 1개, ~2면 최근 내역 2개
git log
// 삭제하고자 하는 커밋 기록이 삭제되었는지 확인
git push -f origin [브랜치] // or
git push -force origin [브랜치]
// 커밋 히스토리를 강제로 push
// 여럿이서 작업하는 프로젝트인 경우
// 원격 저장소에서 삭제되기 전에 다른 사람이 해당 브랜치의 커밋을 pull request 했다면,
// pull로 가져온 사람의 로컬 저장소에는 적용이 안된다.