(저의 상황 in my case)
로컬저장소 git (이하 깃저장소)을 먼저 사용 하던 중에 git의 master branch를 새로 만든 원격저장소git hub(이하 원격저장소)에 push를 할 때 오류 발생
1. 첫번째 에러 발생
error: failed to push some refs to 'git@github.com:ccccx/ccccsy.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을 하지 않아서 입니다.
현재 깃저장소의 브랜치와 원격저장소의 브랜치는 commit의 접점이 없어 둘을 연결할 수 가 없다는 의미입니다.
좀더 정확하게 들어가보면, push를 하게되면 깃저장소의 commit 이력과 원격저장소의 commit 이력을 비교합니다. 지금 같은 경우는 두 commit이력이 맞지 않아서 연결할 수가 없습니다.
**해결방법 2가지
1)원격저장소를 삭제하고 새로 만듦(readme.md없이 새로)
2)fetch 또는 pull로 원격 저장소의 commit을 연결하는 것
(2번째 해결 방법을 이용해보겠습니다.)
2. 소스트리로 pull을 해보았습니다
3.오류 발생
fatal: refusing to merge unrelated histories
**오류설명
기록(커밋기록,이력)이 로컬과 원격저장소간에 연관이 없기 때문에 merge가 거부된 것입니다.
Pull은 fetch + merge를 합친 명령어인데, 위 같은 경우는 fetch는 되었으나 merge가 거부된 경우입니다..
그 이유는 Commit 기록이 전혀 관련이 없기 때문 이구요
**해결방법2가지
1. git clone 명령어로 원격저장소를 복제해온다
2. git pull 옵션을 줘서 강제로 pull
git pull origin (branchname) --allow-unrelated-histories
오류나 해결이 안되는 부분이 있으면 댓글 남겨주세요 ㅎㅎ
참고, 도움된 url
'프로그래밍 > git hub' 카테고리의 다른 글
git 시작 2편 - 실무에서 사용할 깃플로우 (0) | 2021.11.18 |
---|---|
git 시작 1편 - 용어 정리 (0) | 2021.11.18 |
Push / pull 사용시 원격 저장소 연결 에러 'origin' does not appear to be a git repository (0) | 2019.07.04 |
안드로이드 스튜디오 깃허브 사용방법 (연결/ssh키 생성/인증) (0) | 2019.06.10 |
소스트리 깃허브 사용방법 (연결/ssh키 생성/인증) (0) | 2019.06.06 |