Wie benenne ich eine Git-Fernbedienung um?

Lesezeit: 3 Minuten

Wie benenne ich eine Git Fernbedienung um
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)

Wie benenne ich eine Git Fernbedienung um
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


1645549157 756 Wie benenne ich eine Git Fernbedienung um
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 ist

Mit vorausschauender Optimierung für Fernbedienungen definiert in ~/.gitconfig (z.B “remote.origin.prune” einstellen trueauch 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-Konfigurationswerte

Unterzeichnet 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 behandeln remote.pushDefault Konfig

Unterzeichnet 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 ist X.

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

828120cookie-checkWie benenne ich eine Git-Fernbedienung um?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy