본문 바로가기
기술 기록/git

error) git) 리모트 레파지토리 끊고 다시 연결하기

by Fola 2022. 3. 27.
// 연결되어 있는 원격 레파지토리 확인
$ git remote -v

// 원격 레파지토리와 연결 제거
$ git remote remove origin

// 연결이 잘 해제 되었는지 다시 확인
$ git remote -v

// 새로운 레파지토리로 깃 연결
$ git remote add origin <깃 주소.git>

// 새 레파지토리로 push 할때 발생하는 error 메세지
// 
// fatal: The current branch main has no upstream branch.
// To push the current branch and set the remote as upstream, use
//
//    git push --set-upstream origin main


// 깃에서 제시한 위 명령어 입력 (원격 저장소에 대한 기본 브렌치 설정)
$ git push --set-upstream origin main

 

 

1.

오랜만에 사용하는 레파지토리에 코딩을 하고 commit push를 했다.

그리고 깃허브 사이트를 확인해 봤더니 내가 원하지 않는 엉뚱한 레파지토리에 푸시가 되어 있었다.

 

짐작 가는 원인이 있기는 하다.

디렉터리 구조를 정리하면서 깃이랑 연결되어 있던 폴더를 여기저기 옮긴 적이 있었는다.

커맨드 라인이 아닌 소스트리를 이용하여 깃을 사용하던 시기에

두 개의 깃 로그가 붙어버린 상황이 발생했었다.

일단 수동으로 파일 백업을 해두고 어치 저치 하여 강제로 정리하고 푸시했던 적이 있었다.

아마 그 때문에 발생한 문제인 것 같다. 

(그리고 저 시점에 한 레파지토리 기존의 다른 레파지토리로 덮어씌워진 모양이다;;)

 

 

2.

깃 원격 저장소의 재 연결은 생각보다 어렵지 않았다.

혹시 모르니 로컬 파일은 수동으로 백업해두고, 원격 저장소는 다른 폴더에 클론을 하나 받아 놓았다.

검색해서 나온 몇 가지 명령어들을 찾아보고 확신이 들어 실행해 옮겼다.

 

연결 해제 및 재 연결은 문제없이 잘 진행되었다.

그러나 이후 새 커밋을 만들고 푸시하는 과정에서 upstream breanch가 없다는 메시지를 받았다.

 

upstream branch란 원격 저장소와 바로 연결된 로컬 저장소를 말한다고 한다.

업스트림 브랜치를 설정하면 push, pull 명령에서 원격 저장소 이름을 생략할 수 있게 만들어 준다. 

( 출처: Jake.lee's Blog, 링크 하단 첨부)

 

정확하게 이해하진 못했지만,

가상 원격 저장소의 어느 브렌치에 푸시를 해야 하는지 알 수 없어 발생한 에러가 아닐까.

 

$ git push --set-upstream origin main

 

깃의 제시한 명령어를 사용하여 upstream branch를 origin main으로 설정했다.

이후로는 push 명령이 잘 동작했고 또 github 에도 잘 등록이 되어 있었다. 

 

 

3.

깃이 매우 유용하고 막강한 기능을 가지고 있기는 한데,

그 막강한 기능 때문에 사용 방법이 만만치가 않다.

백업과 버전 관리를 위해 사용하는 프로그램이

잘못된 명령으로 오히려 백업 자료를 잃어버리게 만든 적도 있다.

 

기업에서 관리하는 버전들에 비하면

내 작업물들은 아직 상대적으로 작고 크게 중요하지 않다.

더 큰 시스템에서 사고 치지 않으려면

더 많이 사용하고 더 익숙해져야겠다는 생각.

이런저런 에러나 오류도 많이 겪으면서ㅠ

 

깃을 이용한 협업 경험을 쌓고 싶은데,

상황이 쉽지가 않다.

주변에 깃을 사용하는 사람도 없는 것 같고, 협업할 사람 찾기도 힘들고ㅠ 

 

 

 

4. Reference

 

IfUwanna IT - [Git] 원격 저장소 연결 및 끊기 ( git remote ) 

https://ifuwanna.tistory.com/263

 

Jake.lee's Blog - git 시작하기

https://frontalnh.github.io/2018/03/19/git-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0/

 

 

5. 새 레파지토리로 무사히 잘 연결된 나의 로컬 깃 레파지토리 터미널

 

(캡쳐) git 이 새 repository에 잘 연결되었음을 보여주는 터미널 화면

 

'기술 기록 > git' 카테고리의 다른 글

git) CLI branch 정리  (0) 2023.01.19
git) 기본 브랜치(branch) 이름 바꾸기 (master -> main)  (0) 2022.03.30

댓글