git restore --staged [File Name]
웬만하면 이 방법을 활용하도록 하자.
git rm --cached [File Name]
git reset [File Name]
만약 실수로 개인정보나 Key값을 원격 저장소에 Push했다면 어떻게 해야할까?
실수로 등록했던 중요 정보를 지운 뒤 다시 커밋하더라도 중요 정보를 등록했던 커밋은 Log상 남아있기 떄문에 커밋 자체를 삭제해야 한다.
이 방법을 알아보자.
git reset [커밋ID]
중요 정보를 저장하고 있는 커밋 직전에 위치해있는 커밋 ID를 입력한다.
HEAD~<숫자>
를 사용해도 되지만 이전에 말했듯 개인적으로 좋아하는 방법은 아니다.
git push -f origin [Branch Name]
여기서 가장 중요한 점이 -f
옵션이다.
결과적으로 Git Log가 변경되는 Git 명령어 같은 경우 무조건 -f
옵션과 같이 활용할 필요가 있다.
(엄밀히 말하면 존재하던 커밋을 삭제하는 것이므로 강제로 Push하지 않으면 Git 측에서 에러가 발생한 것으로 인지하기 때문이다)