Github“치명적 : 원격 원점이 이미 존재합니다”


465

Michael Hartl 's Rails 튜토리얼 을 따르려고 하지만 오류가 발생했습니다.

Github에 가입하고 새로운 SSH 키를 발급하고 새로운 저장소를 만들었습니다. 그러나 터미널에 다음 줄을 입력하면 다음 오류가 발생합니다.

Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin git@github.com:ppreyer/first_app.git
fatal: remote origin already exists.

다른 사람 이이 문제를 겪었는지 궁금한가요?


git 저장소를 아직 만든 경우 .git/config파일을보고 origin이 아직 선언되지 않았는지 확인하십시오.
Denys Séguret 2016 년

3
나는 같은 문제에 직면하고 "git remote rm origin"명령을 사용한 다음 git remote add origin URL 명령을 사용합니다.
Akhzar Nazir

@AkhzarNazir 답변으로 추가하십시오. 그것은 나를 위해 일했다.
Pamela Sillah

답변:


894

TL; DR 기존 리모컨을 업데이트해야합니다.

$ git remote set-url origin git@github.com:ppreyer/first_app.git

긴 버전 :

오류 메시지에서 알 수 있듯이 동일한 이름으로 구성된 원격 장치가 이미 있습니다. 따라서 다른 이름으로 새 리모컨을 추가하거나 필요하지 않은 경우 기존 리모컨을 업데이트 할 수 있습니다.

예를 들어 시스템에 이미 존재하는 github대신 새 리모콘을 추가하려면 origin다음을 수행하십시오.

$ git remote add github git@github.com:ppreyer/first_app.git

튜토리얼의 모든 곳에서 "origin" 이 표시되면 "github"로 바꿔야합니다 . 예를 들어 $ git push origin master이제는이어야 $ git push github master합니다.

그러나 origin이미 존재하는 것이 무엇인지 보려면 을 수행 할 수 있습니다 $ git remote -v. 이 오류가 있다고 생각되면 다음과 같이 업데이트 할 수 있습니다.

$ git remote set-url origin git@github.com:ppreyer/first_app.git

5
새 저장소에 원점이 존재하는 이유는 무엇입니까? 그는 생각해야 할 새 별칭을 만드는 대신 문제를 수정해야합니다 (예 : origin이 github의 올바른 별칭인지 확인).
Denys Séguret 2016 년

1
그래도 효과가 있었지만 다음 단계로 이동하여 터미널에 git push -u origin master를 입력하면 다음 오류가 발생합니다. ERROR : Repository not found. 치명적 : 원격 끝이 예기치 않게 끊어졌습니다. 무슨 의미입니까?
ppreyer

git remote -v출력 은 무엇입니까 ? 또한 시도해 볼 수 git push origin master있습니까?
Agis

16
git remote rm origin제대로 작동하지 않았습니다. 그것은 생산 오류 : 'remote.origin'설정 부분을 제거 할 수 없습니다
앤드류 Savinykh

20
@zespri : 사용git remote set-url --add origin git@github.com/username/repo.git
eduncan911

342

요컨대,

git remote rm origin
git remote add origin git@github.com:username/myapp.git

일했다!

건배!


누구든지 이것을 설명 할 수 있습니까? git remote rm origin
Kick Buttowski

1
@KickButtowski rm은 * nix에서 사용되는 제거 명령을 나타냅니다. 따라서이 명령은 git에게 "origin"이라는 원격 서버 세부 사항을 "제거"하도록 지시합니다.
rob

1 단계에서 할 수있을 때 2 단계로이 작업을 수행 할 필요가 없습니다. 내 답변을 참조하십시오.
Agis

37

너무 치명적인 오류 "치명적 : 원격 원점이 이미 존재합니다."또는 원점을 제거하려고 할 때 "오류 : 구성 섹션 remote.origin을 제거 할 수 없음"이 표시되는 경우 수행해야 할 작업은 다음과 같습니다. 원점을 수동으로 설정하십시오.

Window의 POSH ~ Windows PowerShell 용 Git (및 Windows 용 GitHub 앱)에 문제가 있습니다.

나는 내 옥토 프레스를 설정할 때 다시 자주하는 것처럼이 문제에 부딪쳤다. 그래서 여기 내가 작동하는 방법이 있습니다.

먼저 리모컨을 확인하십시오.

C:\gd\code\octopress [source +2 ~3 -0 !]> git remote -v
octopress       https://github.com/imathis/octopress.git (fetch)
octopress       https://github.com/imathis/octopress.git (push)
origin

먼저 내 출처에 URL이 없습니다. 제거하거나 이름을 바꾸는 등의 시도가 모두 실패합니다.

따라서 URL을 수동으로 변경하십시오.

git remote set-url --add origin https://github.com/eduncan911/eduncan911.github.io.git

그런 다음 git remote -v다시 실행하여 작동하는지 확인할 수 있습니다 .

C:\gd\code\octopress [source +2 ~3 -0 !]> git remote -v
octopress       https://github.com/imathis/octopress.git (fetch)
octopress       https://github.com/imathis/octopress.git (push)
origin  https://github.com/eduncan911/eduncan911.github.io.git (fetch)
origin  https://github.com/eduncan911/eduncan911.github.io.git (push)

이것은 내가 문제, GitHub, BitBucket GitLab 등과 관련하여 수십 개의 git repos를 수정했습니다.


2
이것은 나를 위해 일했습니다. @ eduncan911에게 감사합니다. github 명령은 명령 행에서 새 저장소를 작성하기 위해 "git init"를 수행하도록 지시합니다. 그러면 해당 PS 인터페이스를 사용하여 URL이없는 원점 리모트가 작성됩니다.
mikekidder 2016 년

아 아야, 또 다른 문제인데 왜해야합니까? +1 아마도 우리는 이것을 github의 POSH Git에보고해야합니다.
eduncan911

gitlab을 사용할 때 URL을 어떻게 찾습니까?
Madmenyo

1
@ MennoGouw 나는 그것이 주제가 아닌 질문이라고 생각합니다. 그러나 일반적으로 Repo의 대시 보드 / 홈에 있습니다. 프로젝트 설정에도 있습니다.
eduncan911

36

어떤 원격 저장소를 통해 연결하도록 구성되어 있는지 확인할 수 있습니다

git remote -v

그러면 다음 형식으로 목록이 반환됩니다.

origin  git@github.com:github/git-reference.git (fetch)
origin  git@github.com:github/git-reference.git (push)

그것은 원래 '원산지'가 무엇을 지적했는지 알아내는 데 도움이 될 수 있습니다.

-v로 볼 수있는 원격 연결을 유지하고 싶지만 튜토리얼의 저장소에 대한 'github'(또는 다른 이름)를 기억하지 않고 Rails 튜토리얼을 따르고 싶다면 다른 저장소의 이름을 명령:

git remote rename [current name] [new name]

에서와 같이 :

git remote rename origin oldrepo

그런 다음 튜토리얼을 재개 할 수 있어야합니다.


35

먼저 :

git remote rm origin

그때

git remote add origin https://github.com/your_user/your_app.git

그리고 짜잔! 나를 위해 일했다!


원점을 제거하는 이유는 무엇입니까? 원산지 대신 추가 할 수있는 방법이 있습니까?
Abhils

27

특별한 경우 템플릿으로 사용한 이전 리포지토리에서 시작하여 새 리포지토리를 생성하는 경우 (이 경우가 아니면 수행하지 마십시오). 이전 저장소의 자식 파일을 완전히 지우면 새 저장소를 시작할 수 있습니다.

rm -rf .git

그런 다음 평소와 같이 새 자식 저장소를 다시 시작하십시오.

git init
git add whatever.wvr ("git add --all" if you want to add all files)
git commit -m "first commit"
git remote add origin git@github.com:ppreyer/first_app.git
git push -u origin master

13

로컬 저장소와 연결된 원격 저장소를 확인해야 할 경우 cmd가 있습니다.

git remote -v

이제 원격 저장소 (예 : 원점)를 제거하려면 다음을 수행하십시오.

git remote rm origin

이것은 답변보다 주석처럼 보입니다. 조금 더 많은 담당자와 의견을 게시 할 수 있습니다 .
Nathan Tuggy

@NathanTuggy 아니요, 완전한 대답이며, 겸손한 견해로는이 스레드에서 가장 인기있는 것보다 더 직접적입니다.
daOnlyBG

@daOnlyBG : 유예 기간에 주석이 잠기기 전에 (따라서 자동으로 편집되었을 수 있기 때문에) 대답을 보았을 때 어떻게 보이는지 잘 모르겠습니다. 그러나 이제는 합리적으로 완성되었습니다. 동의합니다.
Nathan Tuggy

@NathanTuggy Woah는 한 번에 한 번 자동 수정이 있는지 몰랐습니다. 설명합니다.
daOnlyBG

7

이 오류 메시지는 git 디렉토리에 이미 원격이 있음을 나타냅니다. 리모컨에 만족하면 코드를 푸시 할 수 있습니다. 그렇지 않은 경우 또는 푸시 할 수없는 경우 :

git remote remove origin
git remote add origin git@github.com:ppreyer/first_app.git

oil!


7

개념 remote은 단순히 원격 저장소의 URL입니다.

origin입니다 별칭 해당 URL을 가리키는. 따라서 매번 저장소에 무언가를 푸시하려고 할 때마다 전체 URL을 작성하는 대신이 별칭을 사용하여 다음을 실행합니다.

git push -u origin master

로컬 마스터 브랜치 에서 원격 오리진 리포지토리로push 코드를 알려주 는 것 .

우리가 때마다 저장소를 복제 , 자식은 기본적으로 우리를 위해이 별칭을 만듭니다. 또한 새 저장소를 만들 때마다 자체 저장소 를 만듭니다.

어떤 경우이든, 우리는 항상이 이름을 원하는대로 바꿀 수 있습니다.

git remote rename [current-name] [new-name]

git 응용 프로그램 의 클라이언트 쪽 (컴퓨터에서)에 저장되기 때문에 변경하면 개발 프로세스의 어떤 것도 영향을 미치지 않으며 원격 저장소에서도 영향을 미치지 않습니다. 주소를 가리키는 이름 일뿐 입니다.

별칭의 이름을 변경하여 여기서 변경되는 유일한 것은 저장소에 무언가를 넣을 때마다이 새 이름 을 선언해야 한다는 것입니다.

git push -u my-remote-alias master

분명히 하나의 이름은 두 개의 다른 주소를 가리킬 수 없습니다. 그래서이 오류 메시지가 나타납니다. origin로컬 시스템에 이미 별명이 있습니다 . 가지고있는 별명 수와 별명을 보려면 다음 명령을 시작할 수 있습니다.

git remote -v

그러면 보유한 모든 별칭과 해당 URL이 표시됩니다.

이것을 실행하고 싶다면 다음을 제거 할 수도 있습니다.

git remote rm my-remote-alias

요약하면 다음과 같습니다.

  • 당신은 이미 무엇을 알고
  • 제거하거나 이름을 바꾸십시오.
  • 새 별칭을 추가하십시오.

행복한 코딩.


5

github에 업로드 한 다음 bitbucket에 업로드하는 것과 같이 다른 저장소에 이미 프로젝트를 추가 한 경우 이러한 유형의 오류가 표시됩니다.

오류를 제거하는 방법 : 프로젝트에서 git-hub 파일을 삭제하고 다음 단계를 반복하십시오 ...

git init       
git remote add origin git@bitbucket.org:Yourname/firstdemotry.git  
git add -A  
git commit -m 'Message'  
git push -u origin master  

5

git 초기화하지 않고 디렉토리에서 명령을 실행하면 발생할 수 있습니다. 이 경우 먼저 실행하십시오.

git init

4

자식을 사용하려면

뿌리

그렇지 않다면 sudo를 사용하십시오

원점 제거 용 :

자식 원격 원점 제거

원점 추가 :

자식 원격 원점 추가 http : // giturl


3
  • $ git remote add origin git@gitlab.com:abc/backend/abc.git

    이 명령에서 origin은 명령의 일부가 아니며 단지 원격 저장소의 이름입니다. 원하는 이름을 사용할 수 있습니다.

    • 먼저 아래 명령을 사용하여 포함 된 내용을 확인할 수 있습니다

    $ git remote -v

    그것은 당신에게 이런 결과를 줄 것입니다 origin git@gitlab.com:abc/backend/abc.git (fetch) origin git@gitlab.com:abc/backend/abc.git (push) origin1 git@gitlab.com:abc/backend/abc.git (fetch) origin1 git@gitlab.com:abc/backend/abc.git (push)

    원격 저장소 경로가 포함되어 있으면 원점을 다시 추가하지 않고 직접 경로를 푸시 할 수 있습니다

    • 원격 저장소 경로를 포함하지 않는 경우

    그런 다음 다른 이름으로 새 원점을 추가하고이를 사용하여 $ git remote add origin101 git@gitlab.com:abc/backend/abc.git

    또는 기존 출발지 이름을 바꿀 수 있습니다.

    git remote rename origin destination

    명령 아래에서 다시 발사

    $ git remote -v

    destination git@gitlab.com:abc/backend/abc.git (fetch) destination git@gitlab.com:abc/backend/abc.git (push)

    기존 저장소 이름을 변경하여 해당 원본 이름을 사용할 수 있습니다

    또는 기존 원점을 삭제하고 원점을 추가 할 수 있습니다.

    git remote rm destination



2

Windows에서 git bash를 사용하여 git hun에 저장소를 추가하는 동안 동일한 오류가 발생합니다.

 git remote add origin https://github.com/axaysushir/netflix_page_clone.git

치명적 : 원격 원점이 이미 존재합니다.

fatal: remote origin already exists.

 ! [rejected]        master -> master (fetch first)

오류 : 일부 참조 를 ' https://github.com/axaysushir/meditation_app_using_js.git ' 로 푸시하지 못했습니다.

다음 명령으로 리포지토리 업데이트

$ git remote set-url origin https://github.com/axaysushir/netflix_page_clone.git

그런 다음 git remote add github add git remote add origin을 사용하여 저장소를 추가하십시오.

$ git remote add github https://github.com/axaysushir/netflix_page_clone.git

그런 다음 git push origin master 대신 다음 명령을 작성하면 저장소가 github에 업로드됩니다.

$ git push github master

2

이 명령을 사용하여 이미 존재하는 경우 원본을 업데이트하십시오.

git remote set-url origin https://github.com/SriramUmapathy/ReduxLearning.git

0

첫 번째 확인 사용중인 별칭의 수와 별칭을 확인하려면 git remote -v 명령을 시작할 수 있습니다.

그런 다음 어떤 저장소에 있는지 확인한 다음 git remote set-url --add [그런 다음 리포지토리 링크] git push -u origin master


0

bash에서 적어도 명령의 종료 코드 반환 값을 0으로 설정할 수 있습니다

기존 리모컨을 제거했다가 다시 추가 할 수 있습니다

git remote remove $1 || true
git remote add $1 $2

0

GUI를 통해 수행하려는 경우 다음을 수행하십시오.

  1. "숨겨진 파일"이 프로젝트 폴더에 보이는지 확인하십시오
  2. .git 디렉토리로 이동
  3. config.txt 파일에서 url 파일을 편집하고 파일을 저장하십시오!
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.