깃에서 중간커밋삭제가 좀 까다로운 작업이지요.
git rebase -i명령어 쓰시면 커밋히스토리를 수정할수가 있답니다.
예를 들어 HEAD~3이라고 하면 최근 3개의 커밋을 보여주는데 거기서 삭제하고 싶은 커밋 앞에 drop이라고 표시하면 되지요
근데 이렇게 하면 그 이후의 커밋들이 다 영향을 받아서 충돌이 날 수도 있어요..
git rebase -i HEAD~3 이렇게 입력하시고 편집기가 뜨면
삭제하고 싶은 커밋 앞에 있는 pick을 drop으로 바꾸시면 됩니다
이렇게 하고 저장하시면 Git이 자동으로 커밋 히스토리를 다시 정리해주는데
중간 커밋을 지우다보니 나중 커밋들이랑 충돌이 날 수 있으니 조심하셔야해요
만약 다른 사람이랑 같이 작업하는 브랜치라면 더더욱 신중하게 하셔야 하는데
이미 push한 커밋을 수정하면 다른 사람들한테도 영향이 가거든요ㅠㅠ
그래서 혼자 작업하는 브랜치가 아니라면 git revert를 쓰는게 더 안전할 수도 있답니다
git revert는 커밋을 실제로 지우는게 아니라
그 커밋의 변경사항을 취소하는 새로운 커밋을 만드는 거라서 히스토리가 꼬일 일이 없지요
이렇게 하면 다른 사람들의 작업에도 영향을 안주고 깔끔하게 처리할 수 있어요,,