So benennen Sie den Hauptzweig in einem Github-Repository in Master um

Lesezeit: 2 Minuten

Benutzer-Avatar von handy
praktisch

Ich möchte ein Github-Repository erstellen und das umbenennen main verzweigen zu master.

Wenn ich ein neues Repository auf Github erstelle und tue

git init
git add README.md
git commit -m "first commit"
git branch -M master

Ich bekomme

error: refname refs/heads/master not found
fatal: Branch rename failed

also scheine ich git irgendwie nicht gut genug zu verstehen. Was ist hier das Problem?


Ich muss verwirrt gewesen sein, als ich mit dem oben Genannten herumgespielt habe. Folgendes passiert:

git init das Repository erstellen

git add README.md fügt die Datei hinzu

git commit -m "first commit" fügt die Datei der hinzu master branch seit dem immer noch default für git

also muss ich es nie umbenennen. Jetzt verwendet Github die Standard-Hauptdatei, die in Einstellungen -> Repositories auf github.com geändert werden kann

  • Wenn Sie umbenennen möchten git branch -M oder aktuellen Zweig umbenennen git branch -M

    – Raul

    24. Oktober 2020 um 15:18 Uhr


  • @Rahul OP scheint das bereits zu tun?

    – evolutionbox

    24. Oktober 2020 um 15:20 Uhr

  • Wenn das Repo auf Github erstellt wurde, warum enthält das Beispiel dann „git init“?

    – evolutionbox

    24. Oktober 2020 um 15:20 Uhr


  • Derzeit in abgetrenntem Kopfzustand. Versuchen Sie, einen neuen Zweig auszuchecken, um ihn mit dem aktuellen Commit zu verknüpfen:

    – Raul

    24. Oktober 2020 um 15:23 Uhr

  • Nicht, wenn es auf Github erstellt wurde. Das Repo kann geklont werden.

    – evolutionbox

    24. Oktober 2020 um 15:32 Uhr

Verwendung der -m Option (Verschieben/Umbenennen) statt -M mit dem Namen des Zweigs, von dem Sie umbenennen, hier main, wird funktionieren. Dann können Sie Ihren umbenannten Zweig pushen und auch Ihr Reflog pflegen.

git branch -m main master
git push -u origin master

Ich habe auch einen Blog-Beitrag mit weiteren Details geschrieben, falls das Repo von jemand anderem geklont wurde, bevor der Zweig umbenannt wurde. Sie können es hier überprüfen.

Benutzeravatar von jthill
jthill

Wenn README.md gibt es eigentlich nicht, git checkout -B master wird tun, was du willst. git branch -M erwartet eine vollständige Referenz, die sich tatsächlich auf etwas bezieht, nicht auf den Stub git init (oder git checkout --orphan) erstellt. Ich würde zustimmen, dass es diesen Fall handhaben “sollte”, ob es einen Patch wert ist, hängt von jedem ab, der in der Lage ist, einen guten zu schreiben. Sollte nicht sein zu schwer.

Mein Testfall, der zu dieser Antwort führte, bestand einfach darin, Ihre Befehle in einem leeren Verzeichnis auszuführen. die Ihr gemeldetes Symptom hervorgebracht hat. Führen Sie sie in einem Verzeichnis aus, das (bereits) eine enthält README.md funktioniert so, wie Sie es wollen, dh erzeugt diesen Fehler nicht. Hast du vielleicht erwartet git init eine Vorgabe zu erstellen README.md?

  • Ich hatte nicht erwartet git init erschaffen README-md. Mir war nicht klar, dass es im Grunde keinen Zweig gibt, bis man tatsächlich etwas festschreibt. Es läuft also darauf hinaus, dass einige der Funktionen von git missverstanden werden.

    – handlich

    25. Oktober 2020 um 10:25 Uhr

1429420cookie-checkSo benennen Sie den Hauptzweig in einem Github-Repository in Master um

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

Privacy policy