git-원격 원점 추가 대 원격 설정 URL 원점


412

새 저장소를 만듭니다.

git init
echo "# MESSAGE" >> README.md
git add README.md
git commit -m "first commit"

그런 다음 커밋을 github에서 작성된 빈 원격 저장소로 푸시하여 원격을 설정해야합니다.

다음 명령을 사용하는 것의 차이점은 무엇입니까? :

git remote add origin git@github.com:User/UserRepo.git
git remote set-url origin git@github.com:User/UserRepo.git

결국 나는 푸시를 수행합니다.

git push -u origin master

편집 1 :

git init 직후에 원격 set-url origin을 호출하면 어떻게됩니까? 원격 set-url origin은 origin을 생성합니까? git init 후에 원점이 이미 존재한다면 내 시나리오에서 해당 명령을 사용하는 것에는 차이가 없습니다.

답변:


508

아래는 새 리모컨을 추가하는 데 사용됩니다.

git remote add origin git@github.com:User/UserRepo.git

아래는 기존 원격 저장소의 URL을 변경하는 데 사용됩니다.

git remote set-url origin git@github.com:User/UserRepo.git

아래는 코드를 정의 된 원격 저장소의 마스터 브랜치로 푸시 origin하고 -u현재 로컬 브랜치를 원격 마스터 브랜치로 가리 키도록합니다.

git push -u origin master

선적 서류 비치


A에서 로컬로 복제 한 다음 "git remote set-url B"를 사용하십시오. A에서 저장소를 삭제합니까? 나는 GitLab 저지 AWS 코드에서 저장소를 복제하는 것을 시도하고있다
조쉬

보통 새로운 레포를 만들 때 실수를하고 원점을 업스트림으로 설정합니다. 두 번째 명령을 사용하여 문제를 해결해야합니다git remote set-url origin git@github.com:User/UserRepo.git
Honey

-u 현재 로컬 브랜치를 원격 마스터 브랜치를 가리 키도록하십시오. 왜 그런지 원하지 않습니다 . 마스터에서 가져 와서 새 featureBranch를 만들었습니다 ... 내 변경 사항을 커밋 한 다음 변경 사항을 origin / featureBranch로 푸시 한 다음 해당 기능을 내 마스터에 병합 / 당기십시오. <— 현재 featureBranch를 수행하지 않습니까? 왜 원격 마스터 브랜치를 가리켜 야합니까? 로컬 / 마스터에게 체크 아웃 한 다음 최신 출발지에서 가져와야합니까?
Honey

-u내 의견으로는 오해의 소지가있는 플래그에 대한 설명을 제외하고는 대답이 매우 좋습니다 . -u플래그에 대한 설명은 이 스레드를 살펴 보는 것이 좋습니다 stackoverflow.com/questions/18867824/…
hoang tran

그리고 -u 당신이 현재 로컬 브랜치를 원격 마스터 브랜치를 가리 키도록하겠습니다 : 나는이 라인을 이해하지 못합니다 ... 당신은 무엇을 의미 했습니까?
비가

62
  • 를 실행하면 git remote add origin git@github.com:User/UserRepo.git라는 이름의 새 원격이 생성 origin됩니다.
  • git remote set-url origin git@github.com:User/UserRepo.gitgit 을 실행 하면 git은 이름을 가진 기존 원격을 검색하고 origin원격 저장소 URL을 변경합니다. git이 이름을 가진 원격 장치를 찾을 수 없으면 origin오류가 발생 fatal: No such remote 'origin'합니다.

새 저장소를 작성하려면 git remote add origin git@github.com:User/UserRepo.git원격을 추가 하는 데 사용 하십시오.


Edit1
Irbis

git init원점을 추가하지 않습니다. 자식 저장소 만 초기화됩니다. 기존 리포지토리를 복제하면 원격 원본이 있습니다. 권장 사항은 사용 하지 않은 git add후에 사용하는 것 입니다. git initset-url
Ram

@Ram git init 이후에 set-url을 호출하지 않는 것이 분명합니다. set-url은 변경하고 add는 새 리모컨을 추가하는 것입니다.
Santosh 2016 년

61

아래는 로컬 리포지토리를 다시 초기화합니다. 원격 저장소 삭제 (예 : 원점) :

git init

그런 다음 아래에 '원본'이 없으면 생성합니다.

git remote add origin [repo-url]

그렇지 않으면 set-url부속 명령을 사용하여 기존 리모트를 편집 할 수 있습니다 .

git remote set-url origin [repo-url]

또한 기존 리모컨을 사용하여 확인할 수 있습니다

git remote -v

도움이 되었기를 바랍니다!


1
git remote set-url origin ...새로 초기화 된 repo에서 치명적인 메시지를 받았습니다 .No remote remote. git remote add origin ...일했다.
Robb Vandaveer

@RobbVandaveer 캐치 주셔서 감사합니다! 하위 명령을 올바르게 사용하기위한 답변을 업데이트했습니다set-url
vpibano

32

git remote add=> 새 리모컨을 ADDS 합니다.

git remote set-url=> 기존 리모컨을 업데이트 합니다.


  1. 뒤에 나오는 add원격 이름은 해당 명령 이전에는 존재하지 않은 새로운 원격 이름입니다.
  2. 이후의 원격 이름은 set-url저장소에 대한 원격 이름으로 이미 존재해야합니다.

git remote add myupstream someurl => myupstream 원격 이름이 존재하지 않으므로이 명령으로 이름을 작성하십시오.

git remote set-url upstream someurl => 업스트림 원격 이름이 이미 존재합니다. URL을 변경하고 있습니다.


git remote add myupstream https://github.com/nodejs/node => **ADD** If you don't already have upstream
git remote set-url upstream https://github.com/nodejs/node # => **UPDATE** url for upstream

30

새 리모트를 추가하려면, git remote add저장소의 디렉토리에있는 터미널 에서 명령을 사용하십시오 .

git remote set-url명령은 기존 원격 저장소 URL을 변경합니다.

기본적으로 remote add새로운 것을 추가하는 것입니다, remote set-url기존의 것을 업데이트하는 것입니다


28

1. git remote add origin git@github.com:User/UserRepo.git

  • 이 명령은을 사용하여 현재 작업 저장소로 git을 초기화 한 후 명령 시리즈의 두 번째 단계입니다 git init.
  • 이 명령은 단순히 "!!에서 /으로 파일을 푸시 / 풀할 원격 저장소의 위치를 ​​추가하고 있습니다."를 의미합니다.
  • 원격 저장소는 github, gitlab, bitbucket 등의 어느 곳에 나있을 수 있습니다.
  • 다음 origin은 원격 저장소의 별명 / 대체 이름입니다. 따라서 매번 원격에 대한 전체 경로를 입력 할 필요가 없으므로이 이름 (원점)을 사용하여 원격을 참조한다고 선언합니다. 이 이름은 무엇이든 될 수 있습니다.
  • 리모컨이 올바르게 설정되어 있는지 확인하려면 다음을 입력하십시오. git remote -v

    또는 git remote get-url origin

2. git remote set-url origin git@github.com:User/UserRepo.git

이 명령은 실수로 처음으로 잘못된 저장소로 푸시 할 경우 위 명령을 사용하여 "원격 저장소 경로를 재설정" 할 수 있음을 의미합니다 .

3. git push -u remote master

이 명령은 단순히로 알려진 무언가의 개념이 원격 repository.Git에 파일을 밀어 "지점" 기본적으로 모든이에 밀려 이렇게하여 마스터 명시 적으로 다른 지점을 지정하지 않는 한 가지.

저장소 유형에있는 모든 브랜치 목록에 대해 알려면 다음을 수행하십시오.git branch


10

이 시도:

git init  
git remote add origin your_repo.git  
git remote -v  
git status  

7

remote set-url origingit initgit remote set-url명령은 오리진을 만들지 않지만 기존 원격 리포지토리 URL을 변경 하기 때문에 바로 호출 할 수 없습니다 .

따라서 명령 git remote set-url은 저장소를 복제하거나 origin이라는 원격을 수동으로 추가 한 경우에만 작동합니다.

원격 명령을 검사하면 git remote -v이름 뒤에 원격 URL이 표시 되거나이 명령에 오류가 발생 fatal: Not a git repository (or any of the parent directories): .git하면 저장소가 존재하지 않으므로 명령으로 원점을 추가해야합니다git remote add

1. git remote add

이 명령은 새 원격 장치를 추가하는 데 사용되며 터미널의 저장소 디렉토리에있는이 명령을 사용할 수 있습니다.

git remote add 명령은 두 가지 인수를 취합니다.

  1. 원격 이름 , 예를 들어, 기원
  2. 원격 URL , 예를 들어, https://github.com/user/repo.git

예를 들면 다음과 같습니다.

git remote add origin https://github.com/user/repo.git

2.git remote set-url

git remote set-url 명령은 기존 원격 저장소 URL을 변경합니다.

git remote set-url 명령은 두 가지 인수를 취합니다.

  1. 기존 원격 이름 . 예를 들어 origin또는 upstream두 가지 일반적인 선택입니다.
  2. 리모컨새로운 URL

예를 들어, git remote set-url명령 을 사용하여 원격 URL을 SSH에서 HTTPS로 변경할 수 있습니다 .

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

명령을 사용하여 원격 URL이 변경되었는지 확인할 수 있습니다 git remote -v.

참고 : "origin"은 명령의 일부가 아닌 규칙입니다. "origin"은 원격 저장소의 로컬 이름입니다. "origin"대신 모든 이름을 사용할 수 있습니다.

예를 들면 다음과 같습니다.

git remote add myorigin git@github.com:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git

github의 참조 : remote add , remote set-url


0

기존 프로젝트가 있고 원격 저장소 URL을 추가하려면 다음 명령을 수행해야합니다

git init

readme.md 파일을 추가하려면 아래 명령을 사용하여 파일을 작성하고 추가하십시오.

git add README.md

아래 명령을 사용하여 첫 번째 커밋을하십시오.

git commit -m "first commit"

이제 모든 로컬 저장소 프로세스를 완료했습니다. 이제 원격 저장소 URL을 추가하는 방법은 무엇입니까? 아래 명령을 확인하십시오. 이것은 ssh url 용이며 https 용으로 변경할 수 있습니다.

git remote add origin git@github.com:user-name/repository-name.git

첫 번째 커밋을 푸시하는 방법은 아래 명령을 참조하십시오 .

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