본문 바로가기

개발/ERROR

![rejected]error: failed to push some refs to origin 해결

push를 하던 중 오류가 발생.

내가 발생된 원인은 remote repository와 local repository의 차이로 인한 오류이다.

정확히 표현하자면, local에서 이 전 커밋으로 reset을 하고, 새로 수정 후 다시 push를 하게 되면, remote repository에서 새로운 분기점에서 발생되는 오류로 추정된다.

 

그렇다면, remote repository가 추적이 가능하도록 local commit과 merge만 해주면 간단하게 해결할 수 있을 것이다.

git log --all

git log --all을 통하여 원격 저장소의 commit을 확인하고, local commit과 merge를 하면 쉽게 해결할 수 있다.

여기서, commit 해시 주소를 확인해보자.

commit hash 주소

나는 출력된 주소가 1d4a...이다, 4글자까지만 적어주자. 4글자만 해도 왠만하면 git에서 식별 할 수 있다.

git merge 1d4a

git merge를 치고, conflict를 해결하도록 하자.

해결을 다 하고, commit을 해주면 된다.

conflict 해결

그럼 추적 할 수 없었던 commit이 병합되며, 새로운 commit이 생기게 되고, 이 commit을 push해주면 remote repository에서 추적할 수 있게 된다.

완료된 모습.

 

2020-10-25 추가 내용

아. 참고로 git push -f origin로 강제로 할 수도 있지만, 추천하지는 않는다. 파일 손실 위험이 있음.

그냥 가장 안정적인 위의 방법을 쓰는거 추천함.ㅋ

 

ㅋㅅㅋ