DevOps/Git

[Git] git push 에러 발생

`작은거인` 2020. 1. 21. 11:35

상황 :

1. Github에서 신규 프로젝트를 생성 후 git init으로 초기 설정

2. 디렉터리에 소스 파일 복사 -> git add -> git commit -> git push 에러 발생

 

증상 1 : 

ㅁ git push 실행하면 아래 error 메시지가 발생함

ㅁ 아래에서 2번째 ' hint: git pull ~~~~ ' 라인을 보면 git push를 하기 전에 git pull을 진행하라고 함

$ git push
Username for 'https://github.com': xxxx@gmail.com
Password for 'https://xxxx@gmail.com@github.com':
To https://github.com/xxxx/cafe_sed_pgupgrade.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxxx/cafe_sed_pgupgrade.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.

 

증상 2 :

ㅁ git pull을 실행하면 아래와 같이 관련이 없는 history를 merge 시킬 수 없다는 에러 메시지 발생

$ git pull
fatal: refusing to merge unrelated histories

 

해결 : 

--allow-unrelated-histories 옵션을 사용하여 해결

신규로 만든 프로젝트와 기존에 있는 프로젝트가 같은 조상이 아니기 때문에 서로 다른 프로젝트라고 인식함
$ git pull origin master --allow-unrelated-histories
From https://github.com/xxx/cafe_sed_pgupgrade
 * branch            master     -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 README.md | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 README.md