ローカルリポジトリからアップストリームを削除するGit


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は機能します。

コマンドがいつ変更されたかはわかりませんが、Ubuntu12.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
...

===

*「gitremoterm」と「gitremoteremove」について-これはgit1.7.10.3 / 1.7.122周辺で変更されました-を参照してください

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、「エラー:不明なサブコマンド:削除」が生成されます
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.