git 리모트 저장소 관련하여

조회수 1622회

기존에 작업하면서 저장했던 git 리모트 저장소를 변경하기 위해 터미널 상에서

git remote set-url origin 새로운 리모트 저장소 주소.git 을 입력하여 리모트 저장소를 변경하고 이후에

git push -u origin master 을 입력하여 푸시하려고 했더니 rejected 라는 메세지가 뜨면서 첨부한 이미지 파일처럼 힌트가 나오던데요

git 리모트 저장소를 변경하기 위해서 git remote set-url origin 이 명령문 말고 다른 과정을 거쳐야 하나요? (예를들면 기존에 연결되어 있던 git 리모트 저장소를 끊어야 한다던지..)

어떻게 하면 git 리모트 저장소를 변경할 수 있을까요??

이미지

  • (•́ ✖ •̀)
    알 수 없는 사용자

3 답변

  • 해당 메시지는 로컬 저장소와 리모트 저장소의 차이가 있어서 발생하는 것입니다.

    pull 로 리모트 저장소의 내용을 로컬 저장소로 가져온 후 다음 작업을 하셔야 합니다. 이 과정에서 충돌이 발생할 경우 리모트, 로컬 저장소의 내용을 합치는 merge를 하셔야 합니다. 리모트 저장소의 내용을 로컬 저장소의 내용으로 강제로 덮어 씌우는 force push 도 있지만 merge 를 추천드립니다. 터미널 상에서 머지하는 과정은 쉽지만은 않습니다. 이럴 때는 GitKraken 같은 툴을 사용하시면 편리합니다.

    또한 저장소를 변경하기 위해서는 아래와 같은 방법으로도 가능합니다.

    1. git remote -v 를 통해 현재 저장소와 단축이름을 확인합니다.

    2. git remote set-url 단축이름(예 : origin) 저장소(예 : https://xxx)

    or git remote remove 단축이름 -> git remote add 단축이름 새로운저장소

    • 네 분께서 작성해주신 내용 모두 도움이 되었습니다. 비교적 더 자세하게 기술해주신 김선우님 답변을 채택 하였습니다. 저같은 경우 위와 같은 상황에서 먼저 git pull을 하였더니 commit을 하라는 내용이 나와서 git commit -m "커밋 이름" 을 입력하여 커밋을 한 후 다시 git push -u origin master 를 입력하니 리모트 저장소를 변경할 수 있었습니다. 이 모든 과정에 앞서 git remote -v 를 통해 현재 저장소와 단축이름을 확인한 후 였구요. 알 수 없는 사용자 2017.1.25 16:29
  • 현재 local 브랜치의 상태랑 변경한 저장소 브랜치 상태랑 달라서 pull을 받고 머지를 한다음 다시 push를 해야 할 거 같습니다. 아니면 강제로 리모드 상태로 로컬 상태를 변경해도 된다면, force pull 하시면 됩니다.

  • 저장소 관련 정보를 직접 열어서 [remote "origin"] 가 어디로 되어있는지 확인해 보시고

    .git/config
    

    해당부분 지우고 git remote set-url origin 새로운 주소 부터 다시 해보세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)