프로젝트를 진행하던 중 Git hub
에 Push
가 안되는 문제가 발생했다.
정말 듣도보도 못한 에러메시지에 당황하다가 인터넷을 뒤지던중 파일의 용량이 100Mb
를 초과하는게 있어서 대용량 업로드를 해야해서 push
가 안된다는것을 알게됐다.
하지만 아무리 뒤져봐도 100Mb
를 초과하는 파일을 발견할 수 없었고, 진짜 눈에 불을켜고 찾던 중
이전의 commit
내역에 100Mb
를 초과하는 파일과 함께 commit
된 내역이 있음을 발견했다.
하지만 이미 이후에 꽤 많은 수정사항이 반영된 commit
들이 존재했기 자칫하면 push
를 위해 변경 내역들이 다 날아갈 상황에 처하고 말았다.
하지만 변경점을 push
해야만 하는 상황이었기 때문에 문제를 반드시 해결해 push
해야만 했고, 방법을 찾던중 CherryPick
이라는 기능을 알게됐다.
CherryPick
은 변경된 내역중 원하는 내역만 적용하는 기능으로 위와 같은 경우에서 -reset
을 통해 이전으로 커밋을 되돌린 뒤 용량이 큰 파일을 추가했던 내역을 제외한 나머지 내역들만 적용하게 되면 문제가 생기는 부분을 제외한 새로운 commit
내역이 생성된다.
(CherryPick
기능의 경우 터미널창보다 시각화 툴에서 사용하는게 편하다.)
원하는 변경내역을 모두 변경한 후 commit
한 내역을 push
하게 되면 문제없이 push
가 되는것을 확인하 수 있다.
아니 이게 안되잖아요!!!
??? : 자네가 커밋을 그 따위로한건 말이 되고..?