본문 바로가기
Git

[Git] merge후 원격저장소에 push 안될때 강제로 push하기

by 소금_msg 2022. 9. 6.

main, jh.kim

 

두개의 브랜치가 있는데

jh.kim에 최신상태의 버전이 있어서

jh.kim의 소스를 main에 덮어 씌우고 싶었다.

 

merge해서 jh.kim의 소스가 main소스랑 같게 만들어야지~!

 

$ git checkout main 

git checkout main 으로 현재 위치를 main 브랜치로 이동했다. (덮을 대상이 되는 브랜치로 이동)

$ git branch

git branch 로 현재 위치 확인!

 

* main

jh.kim

이렇게 내 위치인 곳에 *표시가 되어있다.

 

$ git merge jh.kim

git merge jh.kim(원하는 소스가 있는 브랜치)

으로 머지 해준다…

 

$ git log

git log 로 내가 덮을 커밋이 맞는지 확인.

맞으면 q 를 입력하여 로그를 나가준다.

 

$ git push origin main

git push origin main 으로 원격 main 저장소에 푸시해준다.

여기서 오류 남….

 

! [rejected]       main -> main (fetch first)
error: failed to push some refs to 'https://github.com/juju123156/MooD.git'

 

원격저장소의 내용이 손실될수 있으니 푸시하기 전에 origin main의 소스들을 pull해서 손실을 방지하라고 한다..

하지만 필요한 내용은 jh.kim에 있어서 origin main에 있는 내용은 필요 없으므로 강제로 push 해주기로 한다.

 

$ git push origin +main

git push origin +main 해서 강제 푸시를 진행한다.

 

 

성공 ~!