=> 원격 repository에 로컬에게 없는 commit이 포함되어 있음을 나타냄.
= 다른 사용자가 업데이트한 분기에 push하려고 할 때 이 상황이 자주 발생
시도
- repository 재등록 시도
- commit 및 분기 확인
=>
다시 push하기 전에 원격 변경 사항을 로컬 repository에 통합해야 함
- 원격 변경사항을 가져와 로컬 분기에 병합
=> 분기 확인git pull origin main
- Git은 변경사항 자동 변경 시도 -> 충돌/오류 시 수동으로 해결 필요
- 변경 사항 성공적으로 병합한 후 다시 push
git push origin main
해결 완료(성공적으로 push 완료!)
=> 오류사항 발생
(git pull
을 이미 한 상태)
git status
=> git add .
, git commit -m 'message'
를 확인 후 다시 push
github repository에 push
중 해당 오류 발생
user@DESKTOP-V43IOCL MINGW64 ~/Desktop/swagger (main)
$ git push origin main
To github.com:gajigaji04/swagger.git
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'github.com:gajigaji04/swagger.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
pull
후 push
를 진행해 보았으나 해당 오류가 계속 발생한다.
->
해당 오류는 repository에 추가된 README.md
로 인한 것
=> 데이터 유실 등 문제가 있을 수 있는 부분이 있어 git에서 처리 되지 않도록 에러를 띄우는 것이다.
git push -u origin +(branch)
에러 상관없이 강제로 push 를 진행한다.
근본적인 원인을 찾아 해결하는 방법도 있지만
-> repository에 중요한 파일들이 없는 초기 상태라면 이 방법으로 임시방편은 가능하다.