작업을 진행중인 곳에 새로운 repository 를 연결하려고 했습니다.
git remote add origin "git주소" 로 정상적으로 연결을 했지만, push 과정에서 오류가 발생해 이를 해결하는 과정입니다.
오류 원인
해석하자면 일부 참조를 원격 저장소에 push 하지 못 했다는 뜻입니다.
그림과 함께 설명하자면,
즉, 내가 수정하지 않은 b.txt 파일과 현재 원격 저장소에 등록되어 있는 b.txt 파일의 내용이 다르기 때문에 발생하는 오류입니다.
당연히 새로운 repository 를 만들었다면 원격 저장소와 로컬 저장소의 내용이 다르기 때문에 저런 오류가 발생했을 겁니다.
해결 방법
기본적으로 add, commit 이후에 발생하는 작업들입니다.
만약 원격 저장소를 추가하지 못 했다면 아래 명령어를 통해 원격 저장소부터 추가해 주세요.
$ git remote add origin "원격 저장소 주소"
- git pull origin [원격 저장소]
첫 번째 해결 방법은 원격 저장소의 내용을 pull 로 가져온 후 다시 push 하는 방법입니다.$ git pull origin main $ git push origin main
main
에는 각자의 원격/로컬 저장소의 이름을 입력해 주세요.
대부분의 경우에는 여기서 해결이 되겠지만, 이미 작업한 소스가 있는 경로에 원격 저장소를 연결할 때는 원활한 실행이 되지 않을 수도 있습니다.
- git push origin [로컬 저장소]:[원격 저장소]
$ git push origin main:main
일반적으로 원격 저장소에 push 할 때에는 git push origin main
처럼 push 를 합니다.
그러나 새 리포지토리를 만들면 로컬 저장소에서 push 하려는 브랜치와 일치하는 브랜치를 찾을 수 없어서 오류가 발생합니다. 그러므로 push 하고자 하는 원격 저장소 브랜치의 이름을 명시하는 것입니다.
- git push -f origin [원격저장소]
$ git push origin +main
이 방법은 원격 저장소에 강제로 push 하는 방법입니다. 간단히 원격 저장소 이름 앞에 '+' 만 붙여주면 됩니다.
강제 push 방법은 새로운 레포지토리에 등록할 경우이거나 이도 저도 안 될 때 백업 후 최후의 수단으로 사용하는 방법입니다.
그 동안 등록했던 commit 내용들이 사라질 수도 있기 때문에 git 저장소에 작업했던 내역들이 많다면 차라리 다른 방법을 차근차근 찾아보는 것이 좋을 것 같습니다.
'Development > Git' 카테고리의 다른 글
Cafe24 웹 호스팅 서버에 GitHub 연동하기 (0) | 2022.08.26 |
---|---|
Git ERROR: You're using an RSA key with SHA-1, which is no longer allowed [Solved] (0) | 2022.08.22 |
GitHub: git not autorized 오류 (0) | 2022.01.08 |
Git :: 설치부터 기본 사용법까지 (3) - git 으로 협업(팀프로젝트)하기 (1) | 2021.12.14 |
Git :: 설치부터 기본 사용법까지 (2) - git 사용법(github, 명령어) (0) | 2021.12.13 |