Usuwanie Gita z lokalnego repozytorium

95

Pracuję z aplikacją Ruby on rails i próbuję zsynchronizować widelec. Warto wspomnieć, że jestem też na Macu. Podjąłem następującą akcję:

$ git remote -v

aby uzyskać wgląd w moje lokalne repozytorium. Pomieszałem, próbując iść upstream:

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

Kiedy powinienem był napisać wielką literę Foo:

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

Pytanie brzmi, jak to usunąć, upstreamponieważ za każdym razem, gdy próbuję to zmienić, wraca z tworzeniem fatalbłędu?

user2603138
źródło

Odpowiedzi:

151

Używając gita w wersji 1.7.9.5 nie ma polecenia „usuń” dla pilota. Zamiast tego użyj „rm”.

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

lub, jak wspomniano w poprzedniej odpowiedzi, działa funkcja set-url.

Nie wiem, kiedy polecenie się zmieniło, ale Ubuntu 12.04 został dostarczony z wersją 1.7.9.5.

bmacnaughton
źródło
39

Zdalna strona podręcznika git jest dość prosta:

Posługiwać się

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

lub po prostu zaktualizuj bezpośrednio adres URL:

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

lub jeśli czujesz się z tym dobrze, po prostu zaktualizuj bezpośrednio plik .git / config - prawdopodobnie możesz dowiedzieć się, co musisz zmienić (pozostawione jako ćwiczenie dla czytelnika).

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

===

* Odnośnie „git remote rm” kontra „git remote remove” - zmieniło się to w okolicach git 1.7.10.3 / 1.7.12 2 - zobacz

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.
Bert F.
źródło
1
Wydaje się, że ta odpowiedź wymaga aktualizacji. W git 1.7.9, git remote remove upstreamgeneruje „błąd: Nieznana komenda: usuń”
Michael Scheper
22
$ git remote remove <name>

to znaczy.

$ git remote remove upstream

to powinno załatwić sprawę

rodelm
źródło
11

W wersji git 2.14.3,

Możesz usunąć upstream używając

git branch --unset-upstream

Powyższe polecenie usunie również gałąź strumienia śledzenia, stąd jeśli chcesz ponownie bazować z repozytorium, którego używasz

git rebase origin master 

zamiast git pull --rebase

Ashwin Balasundaram
źródło
1
To działało idealnie dla mojej gałęzi z 2 różnymi strumieniami
Jason,