원격 저장소는 이미 새로운 저장소에 대한 'git push'에 존재합니다.


548

GitHub의 프로젝트가 어느 위치에 git@github.com:myname/oldrep.git있습니다.

이제 모든 코드를 다른 위치의 새 저장소로 푸시하고 싶습니다 git@github.com:newname/newrep.git.

나는 명령을 사용했다 :

git remote add origin git@github.com:myname/oldrep.git

그러나 나는 이것을 받고있다 :

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


6
명령 $> git remote -v show
sykora


기존 저장소의 URL을 알고있는 경우 새로 작성된 저장소의 맨 아래에있는 "다른 저장소에서 가져 오기" 를 사용하는 것이 좋습니다 .
JW.ZG

비슷한 질문이 여기에 요청되었습니다 : stackoverflow.com/questions/2432764/…
jciloa

1
원본을 유지하려면 원격 당신은 단순히 다른 이름을 사용할 수 있습니다 git remote add origin2 ...., 하지만 당신은 한 번만 환매 특약 구성을 수정하지 않고 추진해야하는 경우 다음 당신은 간단하게 할 수있다 git push git@github.com:user/another-project.git master:master.
ccpizza

답변:


870

"origin"을 사용할 수 없기 때문에이 오류가 발생합니다. "origin"은 명령의 일부가 아닌 규칙입니다. "origin"은 원격 저장소의 로컬 이름입니다.

예를 들어 다음과 같이 쓸 수도 있습니다.

git remote add myorigin git@github.com:myname/oldrep.git  
git remote add testtest git@github.com:myname/oldrep.git

매뉴얼을 참조하십시오 :

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

원격 저장소를 제거하려면 다음을 입력하십시오.

git remote rm origin

"업스트림"원격을 제거하려는 경우에도 "origin"은 원격 저장소의 이름입니다.

git remote rm upstream

8
"git remote rm origin"이 작동하지 않으면 "git remote -v"로 확인을 시도하면 원산지에 URL이 설정되어 있는지 확인할 수 있습니다. 초기화를 로컬에서 수행하고 원격으로 푸시하려고하고 나처럼 실수를 저질렀습니다. 그런 다음 RobinH의 답변을 따르십시오 : git remote set-url origin git@github.com : username / projectname.git
Clarence Liu

1
URL을 강제 실행 하려면 이 답변 을 확인하십시오 .
srodriguex 2016 년

"git remote rm origin"은 매력처럼 작동했습니다! :) puhh, 나는 git의 용어를 처음 접했기 때문에 더 큰 검색 이었지만 귀하의 대답은 저에게 많은 도움이되었습니다. :) 감사합니다!
Martin Pfeffer

3
git push -u origin master --force
Ronnie Royston

-힘은 해결책입니다!
창조자

260

이전 솔루션은 출처를 무시하는 것으로 보이며 다른 이름 만 사용하는 것이 좋습니다. 그냥 사용하고 싶을 때는 git push origin계속 읽으십시오.

잘못된 Git 구성 순서를 따르기 때문에 문제가 나타납니다. .git 구성에 'git origin'을 이미 추가했을 수 있습니다.

다음 줄을 사용하여 Git 구성에서 원격 원점을 변경할 수 있습니다.

git remote set-url origin git@github.com:username/projectname.git

이 명령은 푸시하려는 Git 리포지토리의 새 URL을 설정합니다. 중요한 것은 자신의 사용자 이름프로젝트 이름 을 입력하는 것입니다


7
고마워, 내가해야만 할 일 :)
winkbrace

이것은 나를 위해 그것을 해결했다. 그러나이 문제에 실제로 도움이되는 것은 Windows 용 Gihub와 함께 설치된 portableGit 사용자이기 때문입니다. 여기
PerseP

큰! 나는 거만한 리포지토리를 git lab repo로 변경해야 했고이 솔루션은 완벽했습니다! 감사합니다!
Marcelo dos Santos

OP와 같은 상황 에서이 작업을 수행 한 다음 @MrHus의 솔루션을 사용해야했습니다.
Sean the Bean

4
이것은 가장 좋은 답변입니다 IMHO
kratos

83

실수로 로컬 이름을 "origin"으로 지정한 경우 다음과 같이 제거 할 수 있습니다.

git remote rm origin

"실제로 이름을 '원산지'로 명명 한 것"은 실제로 무엇을 의미합니까? 자세히 설명 할 수 있습니까? @Ozgur
Yuan Wen

1
이것은 git 저장소를 가리 키지 않는 원격 원점을 추가했음을 의미 할 수 있습니다. 따라서 모든 변경 사항을 마스터에 푸시하려는 경우 git은 원격 원점이 git 저장소가 아니라고 불평합니다.
Gautham Honnavara 2012

22

방법 1->

원점이 이미 존재하므로 제거하십시오.

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

방법 2->

-> git remote set-url을 사용하여 기존 원격 저장소 URL을 변경할 수도 있습니다

HTTPS를 사용하도록 업데이트하는 경우

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

SSH를 사용하도록 업데이트하는 경우

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

존재하지 않는 리모컨을 업데이트하려고하면 오류가 발생합니다. 그러니 조심하세요

방법 3->

git remote rename 명령을 사용하여 기존 리모컨의 이름을 바꿉니다. 기존 원격 이름 (예 : origin)

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

리모컨의 새 이름을 확인하려면->

git remote -v

Git을 처음 사용하는 경우이 자습서를 시도하십시오->

힘내 튜토리얼


1
고마워 나는 다른 사람을 다운로드 받고 GitHub에 복제하고 싶었다. 마지막으로 첫 번째 방법을 사용하여 성공합니다.
Naimur Hasan

17

텍스트 편집기에서 구성 파일을 간단히 편집 할 수 있습니다.

에서 ~/.gitconfig당신 은 다음과 같은 것을 넣어야 합니다 :

[user]
        name  = Uzumaki Naruto
        email = myname@example.com

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

에서 oldrep/.git/config(저장소의 구성 파일) 파일 :

[remote "github"]
        url = git@github.com:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

리포지토리의 구성 파일에 원격 섹션이 있고 URL이 일치하면 푸시 구성 만 추가하면됩니다. 가져 오기에 공개 URL을 사용하는 경우 'pushurl'로 푸시하기위한 URL을 넣을 수 있습니다 (경고 : 방금 출시 된 Git 버전 1.6.4가 필요함).


10
  1. git remote rm origin

  2. git remote -v 리포지토리 이름이 표시되지 않습니다

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

  4. git push origin master 프로세스를 시작하고 새 분기를 만듭니다. 당신은 당신의 작업이 github으로 밀린 것을 볼 수 있습니다.


8

기존 "원점"리모컨을 제거 할 필요는 없으며, 원격 추가에 "원점"이외의 이름을 사용하십시오. 예 :

자식 원격 추가 github git@github.com : myname / oldrep.git


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

6

나는 같은 문제를 겪었고 여기에 약간의 연구를 한 후에 어떻게 고쳤습니까?

  1. Windows 용 GitHub를 다운로드 하거나 쉘이 포함 된 유사한 것을 사용하십시오.
  2. Git Shell작업 메뉴에서를 엽니 다 . Git 명령어를 포함한 파워 쉘이 열립니다.
  3. 쉘에서 예를 들어 이전 저장소로 전환하십시오. cd C:\path\to\old\repository
  4. 기존 리포지토리의 상태 표시

  5. 이제 다음을 사용하여 로컬 저장소에서 원격 저장소를 제거하십시오.

    git remote rm origin
    
  6. 4 단계로 다시 확인하십시오 origin. 페치 및 푸시 경로 대신 표시되어야 합니다.

  7. 이전 원격 저장소의 연결이 끊어 졌으므로 새 원격 저장소를 추가 할 수 있습니다. 다음을 사용하여 새 저장소에 연결하십시오.

참고 : Bitbucket을 사용하는 경우 먼저 Bitbucket에서 프로젝트를 작성하십시오. 생성 후 Bitbucket은 필요한 모든 Git 명령을 표시하여 리포지토리를 원격으로 푸시합니다. 이는 다음 코드 조각과 유사합니다. 그러나 이것은 다른 리포지토리에서도 작동합니다.

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

그게 다야.


5

Bitbucket을 처음 사용할 때도 같은 문제가 발생했습니다 .

내 문제는 내가 스스로 정의한 단어의 원점을 바꿔야한다는 것이었다. 응용 프로그램의 이름을 사용했습니다. 그래서:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git

4

원격 저장소의 이름을 다른 것으로 변경해야합니다.

git remote add origin git@github.com:myname/oldrep.git

git remote add neworigin git@github.com:myname/oldrep.git

나는 이것이 효과가 있다고 생각한다.

예, 저장소 초기화 및 새 리모컨 추가 용입니다. 이름이 바뀌었을뿐입니다.


3

REPOHOME / .git / config 파일에서 푸시하려는 리포지토리 이름을 변경할 수도 있습니다.

(여기서 REPOHOME은 리포지토리의 로컬 복제 경로입니다.)



0

origin존재하지 않으면를 확인 하고 추가해야합니다.

if ! git config remote.origin.url >/dev/null; then
    git remote add origin git@github.com:john/doe.git
fi

파일을 작성 check.sh하고 스크립트를 붙여 넣어 git 저장소 URL을 업데이트 한 후 실행하십시오 ./check.sh.


0

1 단계

git remote rm origin

2 단계

git remote add origin enter_your_repository_url

예:

git remote add origin https://github.com/my_username/repository_name.git

-1

먼저 제거 된 리모컨에 대해 다음 코드 줄을 작성하십시오.

$ git remote rm origin

다음 줄을 작성하십시오.

$ git remote add origin https://github.com/khadim321/React-Form.git

제대로 작동합니다.


답에 더 많은 가치를 제공하기 위해 더 많은 설명을 제공하십시오
Zeina

누군가가 github 저장소 중 하나를 원격 원점으로 추가하는 데 도움이되는지 확실하지 않습니다. 이 질문은 이미 몇 차례 답변되었습니다. 품질이 낮은 새로운 질문을 만들기 전에 다른 질문을 확인하십시오.
thmspl

-1

github 내에서 동일한 프로젝트로 새 리포지토리를 만들려면 이전 Remote에서 github에서 해당 리포지토리를 먼저 삭제 한 다음 .git 폴더 C : \ Users \ 를 삭제하면됩니다 . Shiva \ AndroidStudioProjects \ yourprojectname \ .git에서 해당 폴더를 삭제하십시오. 하십시오 (이 폴더가 숨겨져 있으므로 숨겨진 파일을 클릭하십시오)

또한 안드로이드 스튜디오에서 마이너스 (제거 버튼)를 클릭하십시오 .Setting-> VersionControl 안드로이드에서 버전 컨트롤을 제거하려면 여기를 클릭하십시오. 그러면 새로운 리포지토리를 만들 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.