web-dev-qa-db-ja.com

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

Rubyアプリケーションで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エラーが作成されるためです。

67
user2603138

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が同梱されていました。

118
bmacnaughton

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. / 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.
33
Bert F
$ git remote remove <name>

すなわち。

$ git remote remove upstream

それはトリックを行う必要があります

5
rodelm

Gitバージョン2.14.3では、

を使用してアップストリームを削除できます

git branch --unset-upstream

上記のコマンドは、トラッキングストリームブランチも削除するため、使用しているリポジトリからリベースする場合

git rebase Origin master 

git pull --rebaseの代わりに

3