git reset 그리고 lfs (push large file up to 100MB)

황동준·2021년 5월 16일
0

git에서 csv 파일 155MB 짜리를 commit 후 push 하려다가 다음과 같은 에러가 발생했다.

100MB 이상은 push가 불가능 하다고 한다. 그래서 저 error message에 있는 lfs site에 들어가서 install 한 후 large file을 tracking 해서 push 할 때 lfs로 올리려고 하였다. 그러나..

또 똑같은 에러 발생. 아까 전에 commit했던 로그에서 계속 큰 파일을 가지고 있다 보니까 error가 계속 발생하는 것 같다.

그래서 이전 commit 을 되돌리기 위해 git reset --hard (commit id) 를 입력했다. 그랬더니 commit id 이후에 commit들은 다 없어지고 이전 branch로 돌아갈 수 있었다.

근데, 이거 이전으로 돌아가긴 했는데, commit 된 상태로 돌아간 것이다. 그러니까 그 큰 파일이 commit이 된 상태로 돌아갔기 때문에, 결국 commit을 취소하고 다시 stage로 보내야 하는 것이다. 그래서 엄청난 git reset option인 --mixed를 사용했다.

git reset --mixed (바꿀 commit의 이전 commit id)(위 예시에서는 e8e3154

그렇게 되면 이전 commit으로 돌아가되, stage상태, 그리고 추가했던 큰 파일은 untracked 상태가 된다. (휴 편안..)

바로 큰 csv 파일을 gitignore 해버렸다.

그리고, lfs도 나중에 내가 엄청 큰 *.csv 파일들을 push 할 때 써먹을 수 있을 것 같아서 설치하고,

git lfs track "*.csv"
git add .gitattributes

하니까 error 바로 떠버린다.

허허.. 그래서 검색해봤더니

출처

그랬구나.. 내가 push 하려던 repository가 다른 사람 repository fork 해온거라 그랬답니다.

그래서 그냥 안쓰기로 했다! 그냥 push 했더니 성공! 다음 부터는 csv 파일 ignore 하기위해서 *.csv 만 추가했다.

profile
부담없이 기록하기

0개의 댓글