로컬 저장소에서 업스트림을 제거하는 힘내


94

저는 Ruby on Rails 응용 프로그램으로 작업 중이며 포크를 동기화하려고합니다. 나는 또한 Mac을 사용하고 있음을 언급 할 가치가 있습니다. 나는 다음과 같은 조치를 취했다.

$ git remote -v

내 로컬 저장소를 볼 수 있습니다. 나는 가려고 할 때 엉망이되었습니다 upstream.

$ git remote add upstream https://github.com/foo/repo.git

Foo를 대문자로 입력해야하는 경우 :

$ git remote add upstream https://github.com/Foo/repos.git

질문은 upstream내가 이것을 시도하고 변경할 때마다 fatal오류가 발생 하기 때문에 어떻게 제거 합니까?

답변:


150

git 버전 1.7.9.5를 사용하면 원격에 대한 "제거"명령이 없습니다. 대신 "rm"을 사용하십시오.

$ git remote rm upstream
$ git remote add upstream https://github.com/Foo/repos.git

또는 이전 답변에서 언급했듯이 set-url이 작동합니다.

명령이 언제 변경되었는지는 모르지만 Ubuntu 12.04에는 1.7.9.5가 포함되어 있습니다.


37

git 원격 맨 페이지는 매우 간단합니다.

사용하다

Older (backwards-compatible) syntax:
$ git remote rm upstream
Newer syntax for newer git versions: (* see below)
$ git remote remove upstream

Then do:    
$ git remote add upstream https://github.com/Foo/repos.git

또는 URL을 직접 업데이트하십시오.

$ git remote set-url upstream https://github.com/Foo/repos.git

또는 익숙한 경우 .git / config를 직접 업데이트하십시오. 변경해야 할 사항을 파악할 수 있습니다 (독자를위한 연습으로 남겨 둡니다).

...
[remote "upstream"]
    fetch = +refs/heads/*:refs/remotes/upstream/*
    url = https://github.com/foo/repos.git
...

===

* 'git remote rm'대 ​​'git remote remove'관련-git 1.7.10.3 / 1.7.12 2 주변에서 변경됨 -참조

https://code.google.com/p/git-core/source/detail?spec=svne17dba8fe15028425acd6a4ebebf1b8e9377d3c6&r=e17dba8fe15028425acd6a4ebebf1b8e9377d3c6

Log message

remote: prefer subcommand name 'remove' to 'rm'

All remote subcommands are spelled out words except 'rm'. 'rm', being a
popular UNIX command name, may mislead users that there are also 'ls' or
'mv'. Use 'remove' to fit with the rest of subcommands.

'rm' is still supported and used in the test suite. It's just not
widely advertised.

1
이 답변은 업데이트가 필요한 것 같습니다. git 1.7.9에서 git remote remove upstream'error : Unknown subcommand : remove'생성
Michael Scheper 2014

22
$ git remote remove <name>

즉.

$ git remote remove upstream

그게 트릭을해야


10

git 버전 2.14.3에서

다음을 사용하여 업스트림을 제거 할 수 있습니다.

git branch --unset-upstream

위의 명령은 추적 스트림 분기도 제거하므로 저장소에서 리베이스하려면 다음을 사용하십시오.

git rebase origin master 

대신에 git pull --rebase


1
이 2 개의 다른 업스트림 내 지점에 대해 완벽하게 일
제이슨
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.