git에서 특정 커밋을 삭제하려면 인터랙티브 리베이스(interactive rebase, rebase -i)를 사용

1) 삭제할 커밋 확인하기 : git log로 현재 브랜치에서 어떤 커밋이 발생했는지 확인

2) rebase모드로 진입 :$git rebase -i 삭제 이전 커밋id
3) 삭제할 커밋을 drop : 각 줄의 pick키워드는 해당 커밋을 유지한다는 의미, 특정 커밋을 삭제하고 싶다면 해당 줄을 삭제하거나 pick을 drop으로 변경
1) 충돌 파일 수정
2) 변경 사항 저장 후 스테이징 git add
3) rebase 계속 진행 git rebase --continue

git log 확인
second commit 삭제 완료!!

원격 저장소 반영 : git push -f(--force) 강제푸시
*주의: -f를 사용하면 원격 저장소의 기존 작업이 덮어씌워지므로, 협업 시 다른 팀원의 작업에 영향을 줄 수 있다.

rebase후 수정사항이 있을시에 commit 명령어 실행
git
drop은 특정 커밋을 삭제 하는 기능이다.
하지만 git은 이미 존재하는 커밋을 단순히 삭제가 불가능하다
그래서 커밋 히스토리를 재작성하여 삭제된거처럼 처리해야된다
히스토리를 재작성하는 명령어인git rebase를 이용해야된다.
git rebase는 아직 원격(remote)에 push되지 않은 커밋들을 사용해야된다. 안그러면 충돌(conflict)일어남
충돌 코드 수정 후 강제 푸시 (협업 중일때는 문제가 생길 수 있다.)