본문 바로가기
코딩/git

[git] ![rejected] master -> master (fetch first) error

by JuBro 2024. 1. 14.
728x90
문제상황

 

다른 레포지토리를 clone하고 

보기 > 표시 > 숨김항목표시 한 후  .git파일을 삭제해줬다

이제 clone받은 파일을 좀 수정하고 내 레포지토리에 push하려니 에러가 났다.

 

에러 전문

! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/Pirogramming-20/Jubro.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

 

 

 

 

해결방안1 : 강제푸쉬
$ git push origin +master

에러가 뜨던 안뜨던 강제로 push해서 덮어쓰는 명령어인데, 협업 중이라면 다른 사람이 수정한 내용은 다 날아갈 수 있으니 좋지가 않다. 또 내가 깃허브에서 수정한 내용들도 다 날아가고 그냥 내 로컬 내용으로만 덮어쓰는거니 정말 비추.

아무 내용 없는 초반 레포지토리면 상관없을것 같다.

 

 

 

해결방안2: push 할 레포지토리 다시 pull 후 push 하기

 

git remote -v로 연결되어있는 것을 확인해보면 fetch가 있어서 충돌이 일어나는것 같다

fetch는 가져온 소스가 merge되지 않은 상태여서 따로놀고 있는것이다

 

 

그래서 내가 push하려는 레포지토리를 pull해서 수정사항과 merge가 되었고,

 

다시 push하니 성공적으로 파일이 올라갔다!

 

728x90