Ich habe derzeit eine Git-Fernbedienung namens heroku
und ich möchte es umbenennen in production
.
$ git remote -v
heroku https://git.heroku.com/example.git (fetch)
heroku https://git.heroku.com/example.git (push)
Rouan
Ich habe derzeit eine Git-Fernbedienung namens heroku
und ich möchte es umbenennen in production
.
$ git remote -v
heroku https://git.heroku.com/example.git (fetch)
heroku https://git.heroku.com/example.git (push)
Rouan
$ git remote rename <old-name> <new-name>
Also für dieses Beispiel:
$ git remote rename heroku production
Nützliche Dokumente hier: https://help.github.com/articles/renaming-a-remote/
Eine Warnung haben, ohne die Folgen zu kennen: Warnung: Not updating non-default fetch refspec +refs/*:refs/* Please update the configuration manually if necessary.
Würden Sie diese Warnung verstehen und wissen, was in diesem Fall zu tun ist?
– Benutzer1767316
29. Juni 2021 um 23:48 Uhr
VonC
Beachten Sie, dass bis Git 2.11 git remote rename
könnte versuchen, eine nicht vorhandene Fernbedienung umzubenennen!
Das ist in Git 2.12 (Q1 2017) behoben: Siehe e459b07 übergeben, af5bacf übergeben (19. Januar 2017) von Johannes Schindelin (dscho
).
(Zusammengeführt von Junio C. Hamano — gitster
— in fe575f0 übergeben31. Januar 2017)
remote rename
: genauer bestimmen, ob eine Fernbedienung konfiguriert istMit vorausschauender Optimierung für Fernbedienungen definiert in
~/.gitconfig
(z.B “remote.origin.prune
” einstellentrue
auch wenn es tatsächlich sein kann oder nicht “origin
” Remote in einem bestimmten Git-Repository definiert), “git remote rename
” und andere Befehle falsch interpretiert und sich so verhalten, als ob eine solche nicht existierende Fernbedienung tatsächlich existierte.
Mit Git 2.26 (Q1 2020), “git remote
rename X Y
” muss Konfigurationsvariablen anpassen (zB branch.<name>.remote
) dessen Wert früher war X
zu Y
.
branch.<name>.pushRemote
ist jetzt auch aktualisiert.
Sehen b3fd6cb übergeben (01.02.2020) und Bestätigen Sie f2a2327, begehen 923d4a5, ceff1a1 begehen, Commit 1a83068, 88f8576 übernehmen (27. Januar 2020) von Bert Wesarg (bertwesarg
).
(Zusammengeführt von Junio C. Hamano — gitster
— in d0038f4 übergeben25.02.2020)
remote rename/remove
: Verwaltet branch..pushRemote-KonfigurationswerteUnterzeichnet von: Bert Wesarg
Beim Umbenennen oder Entfernen einer Fernbedienung mit
git remote rename X Y git remote remove X
Git benennt/entfernt bereits alle Konfigurationswerte aus
branch.<name>.remote = X
zu
branch.<name>.remote = Y
Da branch..pushRemote auch eine Fernbedienung benennt, werden diese Konfigurationswerte jetzt auch umbenannt oder entfernt
branch.<name>.pushRemote = X
zu
branch.<name>.pushRemote = Y
Und:
remote rename/remove
: sanft behandelnremote.pushDefault
KonfigUnterzeichnet von: Bert Wesarg
Beim Umbenennen einer Fernbedienung mit
git remote rename X Y git remote remove X
Git benennt bereits um oder entfernt irgendwelche
branch.<name>.remote
und Zweig.<name>.pushRemote
Konfigurationen, wenn ihr Wert istX
.aber
remote.pushDefault
erfordert einen sanfteren Ansatz, da dies möglicherweise in einer Nicht-Repo-Konfigurationsdatei festgelegt wird.
In einem solchen Fall wird nur eine Warnung gedruckt, wie zum Beispiel:warning: The global configuration remote.pushDefault in: $HOME/.gitconfig:35 now names the non-existent remote origin
Es wird geändert in
remote.pushDefault = Y
oder entfernt, wenn es in einer Repo-Konfiguration festgelegt wird.
Ich habe mich immer gefragt, ob das Umbenennen einer Fernbedienung “wirklich sicher” ist, da ein Fernbedienungsname buchstäblich an Dutzenden von Stellen in der Konfigurationsdatei erscheint. Ich schätze, ich kenne jetzt die Antwort … brauche einen aktuellen Git.
– Fizz
14. Juni 2020 um 0:56 Uhr
Ehrlich gesagt wäre es wahrscheinlich sicherer gewesen, wenn Fernbedienungen eine (SHA-artige) ID und möglicherweise eine beliebige Anzahl von praktischen Aliasnamen hätten. Aber ich denke, das hätte die Konfigurationsdateien etwas weniger “menschenlesbar” gemacht.
– Fizz
14. Juni 2020 um 1:02 Uhr
Ein einfacher Git-Befehl kann das tun:
$ git remote rename <existing-name> <new-name>
arbeitete für mich. Danke
– PKS
17. Februar um 6:42 Uhr
Wie Sie selbst in Ihrer Antwort verlinkt und gesagt haben, müssen Sie nur tippen
git remote rename heroku production
siehe Seitenende: https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes