[Github] Git push error

Updated:

Intro

Github의 원격 저장소에 있는 프로젝트와 로컬 저장소의 프로젝트를 연결하여 commit과 push를 해보려고 합니다. 로컬 저장소에서 git bash를 실행시킨 다음 아래의 순서대로 진행을 하였습니다.

git init

git remote add origin http://github.com/[본인계정이름]/Repository주소

git fetch

git merge origin/master

문제점 & 해결법

문제 1.

git merge origin/master 로 병합을 하려는데 오류가 나더군요. git remote를 할 때, Repository주소를 잘못 입력했더군요 ㅎㅎ…

해결법

그래서 git 연결을 끊고 다시 올바른 Repository주소로 git remote를 해주었습니다.

먼저 git remote -v 명령어로 연동 유무를 살펴 보았습니다. 잘못된 레퍼지토리 주소로 연동되어 있는것을 확인할 수 있었습니다.

git remote remove origin 명령어로 로컬과 원격 저장소의 연결을 해제 하였습니다.

제대로 연결이 끊겼는지 확인까지 한 후, 올바른 경로로 다시 연결 시켜주었습니다.

git remote -v

git remote remove origin

git remote -v


문제 2.

Github의 원격 저장소에 있는 프로젝트와 로컬 저장소의 프로젝트를 연결한 후, 로컬 저장소의 프로젝트를 원격 저장소로 push를 하려는데 아래와 같은 오류가 발생하였습니다. 병합하려는 두 개의S 프로젝트가 관련성이 없기 때문에 merge할 수 없다는 것입니다.

C:\Users\gitProject>git push -u origin maste
To https://github.com/[본인계정이름]/Repository주소
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/[본인계정이름]/Repository주소'
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.

해결법

push를 하기 전 pull을 해주지 않아서 생긴 문제였습니다. pull 명령어에 옵션을 주어 강제로 pull 해주었습니다.

git pull origin [브랜치명] –allow-unrelated-histories

Leave a comment