상세 컨텐츠

본문 제목

! [rejected] main -> main (fetch first) GIT PUSH 에러 해결법

IT 공부/작업관리 툴(git,notion...)

by 듀_77 2021. 12. 24. 14:02

본문

반응형

Administrator@JY-20190418VQXN MINGW64 ~/Desktop/githubPractice (main)
$ git push -u origin main
To https://github.com/Seony-95/githubPractice.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'https://github.com/Seony-95/githubPractice.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

작업하던 폴더를, 중간에 바탕화면으로 옮겼더니 

이런 에러가 생겼다.

! [rejected]  main -> main (fetch first)는 

git push할 때 생기는 에러다.

=> 기존 데이터의 손실 방지를 위해, 

push를 막았다.

=> 원격 저장소와 local 저장소가 동기화되어있지 않은 상태

 

간단한 해결법 

 

1.

연습용이어서 해당 폴더삭제,

바탕화면에 새로 폴더생성,

repository도 다시 생성

했더니 되었다.

 

그리고 "폴더를 삭제하지 않고도" 해결할 수 있는 

방법 몇개를 가져와봤다.

 

2.

 

$ git push origin +master

$ git fetch origin master

 

강제로 master branch에 push 하기 

변경 내용만 반영되는 것이 아니라,

소스 "전체"가 push 되어 버린다.

(기존 데이터 손실 위험)

 

=> 협업 중에 이 방법을 쓰면

팀원 소스가 덧씌워져서 날아갈 수 있다.

 

master branch를 생성해서

base를 새롭게 설정하고 (rebase),

동기화해주면 끝! 

 

3. 동기화해서 push해보기 

[에러 메시지 분석]

hint: Updates were rejected because the remote contains work that you do
// 원격에 수행된 작업이 포함되어 있어, 업데이트가 거부되었다.
hint: not have locally. This is usually caused by another repository pushing
// 로컬에 없다. 다른 repository pushing으로 발생되었다.
hint: to the same ref. You may want to first integrate the remote changes
// 원격에서 변경된 것들을 통합해라.
hint: (e.g., 'git pull ...') before pushing again.
git pull.. push하기 전에 
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
//  'git push --help'의 'Note about fast-forwards'를 참고

 

해결법

(기존 data의 손실 없이 해결 할 수 있다.)

 

[해결법]

1. repository 가져오기 
git pull master origin

2. 다시 push 해보기 
git push https://내 깃허브주소/~.git

 

중간에 작업하던 폴더를 

바탕화면으로 옮겼더니 이런 현상이 일어났다.

 

해결된 화면 

https://velog.io/@johoon815/Git-rejected-master-master-fetch-first-git-push-%EC%97%90%EB%9F%AC

 

[Git] ! [rejected] master -> master (fetch first) git push 에러 🔥

git push Error 해결하기

velog.io

 

반응형

관련글 더보기

댓글 영역