[Git] Github Push 취소하고, 과거로 돌아가기

김상우·2022년 1월 14일
1

git push 에러 발생

  • 개인 프로젝트 중 CocoaPod 에 MLKit 을 추가해서 코드를 작성했습니다. 오늘 할일을 마치고 github 에 push 했는데, 도중에 터져버렸습니다. 이유는 Podfile 의 크기가 100MB 를 넘어버렸기 때문입니다.

-> git push 도중에 error 가 난 모습.

덕분에 야크쉐이빙 오지게 하고 온 여정을 기록합니다..
iOS 플젝 하는 분들은 ignore CocoaPods 하는걸 추천드립니다.


  • 해결 방법
    1. git reset 으로 최근 commit 을 취소합니다.
    2. git reflog 로 돌아갈 시점을 살펴봅니다.
    3. git reset HEAD@{number} 로 워킹 디렉토리를 되돌립니다.
    4. 되돌아간 시점에서 다시 commit, 강제 push 합니다.
    5. gitignore 에 CocoaPods 를 추가합니다.
    6. git ignore 과 함께 문제였던 commit, push를 다시 진행합니다.

해결 과정

  • git reset HEAD^ - 최근 커밋을 취소합니다.

  • git reflog 로 시간여행할 곳을 탐색합니다.

  • HEAD@{1} 이 MLKit 을 포함한 문제의 commit 이기 때문에, HEAD@{2} 로 돌아갔습니다.

  • 다시 commit 합니다.

  • 다시 push 합니다.

  • vim .gitignore 명령어로 gitignore 파일을 작성합니다.

  • git add . git status 로 ignore 가 잘 적용됐는지 확인합니다.

  • 문제였던 Commit 에 ignore 를 덧붙인채로 다시 Push 하게 됩니다.

  • Push 취소 -> 다시 Commit -> Push 가 제대로 적용된걸 확인할 수 있었습니다 .. !
profile
안녕하세요, iOS 와 알고리즘에 대한 글을 씁니다.

0개의 댓글