다이어리 앱 만들기 - 깃 에러 해결하기(set upstream, non fast-forward)
20 Jul 2020 | PROJECT개인 프로젝트를 정리한 것입니다.
잘못된 내용이 있다면 편하게 댓글 남겨주세요!
실수로 .git 파일을 삭제하게 되면서 해당 깃에 포함되어있던 브랜치를 다 날려버리는 바보같은 짓을 저질렀다…..멍청
다시 깃을 연결하여 진행하려다 보니 아래와 같은 에러가 발생헀다.
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
치명적 : 현재 분기 마스터에 업스트림 브랜치가 없습니다.
현재 브랜치를 푸시하고 리모트를 업스트림으로 설정하려면 다음을 사용하십시오.
위와 같은 내용으로 우선 에러가 말해준 대로 아래를 진행해준다.
git push --set-upstream origin master
그러고 나니 아래와 같은 에러가 발생했다.
! [rejected] master -> master (non-fast-forward)
error: 레퍼런스를 'git@github.com:zehye/diary.git'에 푸시하는데 실패했습니다
힌트: 현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가
힌트: 거부되었습니다. 푸시하기 전에 ('git pull ...' 등 명령으로) 리모트
힌트: 변경 사항을 포함하십시오.
힌트: 자세한 정보는 'git push --help'의 "Note about fast-forwards' 부분을
힌트: 참고하십시오.
엇 이 에러는 예전에 자주 발생하여 정리해놓은 글이 있다. 참고> non fast forward 에러 해결하기
그래서 아래와 같이 진행해보았다.
git pull origin master --allow-unrelated-histories
근데 또 에러가 발생했다.
* branch master -> FETCH_HEAD
error: 병합 때문에 추적하지 않는 다음 작업 폴더의 파일을 덮어씁니다:
그래서 아래와 같이 진행헀다.
// origin을 가져오고
git fetch --all
// HEAD의 현 위치를 바꿔준다
git reset --hard origin/master
그러고 다시
git push --set-upstream origin master
위 문장을 실행해주면 문제없이 push 되어 올라가는 것을 볼 수 있다!
++ 그래도 안되는 경우가 있다면
git push -f
강제로 푸시를 해서 올리는 방법도 있다.