Git entfernt Upstream aus dem lokalen Repository


89

Ich arbeite mit einer Ruby on Rails-Anwendung und versuche, eine Gabel zu synchronisieren. Es ist erwähnenswert, dass ich auch auf einem Mac bin. Ich habe folgende Aktion ausgeführt:

$ git remote -v

um einen Überblick über mein lokales Repository zu erhalten. Ich habe es vermasselt, als ich versucht habe zu gehen upstream:

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

Wann hätte ich Foo groß schreiben sollen:

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

Die Frage ist, wie ich das entferne, upstreamweil jedes Mal, wenn ich versuche, dies zu ändern, ein fatalFehler auftritt.

Antworten:


148

Mit git Version 1.7.9.5 gibt es keinen Befehl zum Entfernen für Remote. Verwenden Sie stattdessen "rm".

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

oder, wie in der vorherigen Antwort erwähnt, funktioniert set-url.

Ich weiß nicht, wann sich der Befehl geändert hat, aber Ubuntu 12.04 wurde mit 1.7.9.5 ausgeliefert.


36

Git Remote Manpage ist ziemlich einfach:

Verwenden

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

oder aktualisieren Sie einfach die URL direkt:

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

oder wenn Sie damit vertraut sind, aktualisieren Sie einfach die .git / config direkt - Sie können wahrscheinlich herausfinden, was Sie ändern müssen (als Übung für den Leser übrig).

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

===

* In Bezug auf 'git remote rm' vs 'git remote remove' - dies hat sich um git 1.7.10.3 / 1.7.12 2 geändert - siehe

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
Diese Antwort scheint aktualisiert zu werden. In Git 1.7.9 git remote remove upstreamwird 'Fehler: Unbekannter Unterbefehl: Entfernen' erzeugt
Michael Scheper

17
$ git remote remove <name>

dh.

$ git remote remove upstream

das sollte den Trick machen


9

In Git Version 2.14.3,

Sie können Upstream mit entfernen

git branch --unset-upstream

Mit dem obigen Befehl wird auch der Tracking-Stream-Zweig entfernt. Wenn Sie also eine Rease aus dem von Ihnen verwendeten Repository erstellen möchten

git rebase origin master 

anstatt git pull --rebase


1
Dies funktionierte perfekt für meine Niederlassung mit 2 verschiedenen Upstreams
Jason
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.