본문 바로가기
소소한 팁

[git] error: failed to push some refs to, Git submodule 에러

by Jyujae 2022. 8. 30.

현 상황:

submodule이 생겨서 내 파일이 업로드가 되지 않고, 서브모듈로 생성이 되어서 pull이 불가능해졌다.

거기다가 git까지 꼬여버려서error: failed to push some refs to, 에러까지 생기게 되었다.

그래서!

왜 서브모듈이 생기는지, 그리고 그 해결방법에 대해 알아보겠다~

 

1. 서브모듈 원인 & 해결법

 

.git 파일이 있는 곳, 즉 cmd 나 vsc 를 실행할 때의 주소를 봐야한다

.git은 더 상위 폴더에 했는데, 하위 폴더에서 add push 를 하게 되면 새로운 서브모듈이 생겨버린다

서브모듈을 추가하고 등록하는 방법은 따로 있지만, 가장 큰 실수는 directory다!

꼭!!!!!!!!!!!! git add를 하기 전에 체크를 하는 습관을 만들자!!!!!!!!!!!!!!

ex) .git은 코딩/프로젝트 에 등록되어있는데, 코딩/프로젝트/3주차 에서 add / push 를 하게 되면 현 상황이 생기고 만다.

 

2. error: failed to push some refs to

 

상황은 이러하다

깃 입장에서는 아직 수정된 2번파일이 있는데,

git: local은 왜 아직 수정된 파일도 가져가지 않고 자기 파일을 올리려 하지? 에러를 내야해! 하고 에러를 냈다

error: failed to push some refs to 디렉토리 주소

그럼 local은 어떻게 해야하나?

local: 그럼 git, 우선 너 변경사항 내가 받을게 하고 내 변경사항 올릴게

git pull origin main

 

local: 받았으니까 이제 내꺼 올린다!

git push origin main

 

해결!