In Git ist ein Branch nur eine geordnete Liste von Commits (auch bekannt als Checkins). Etwas verwirrend für neue Benutzer kann sein, dass Branchen keinen Namen benötigen (obwohl Sie in den meisten Fällen einen möchten). und es gibt nichts Besonderes an einem bestimmten Zweig (der master
Zweig ist nur der Standardzweig, der für Sie erstellt wird, wenn Sie ein Repository initialisieren).
Sie wissen das wahrscheinlich schon, aber Git unterscheidet sich von einigen anderen Versionskontrollsystemen wie dem beliebten "Subversion", da jede "Arbeitskopie" (in Subversion-Sprache) ein eigenes Repository ist ... in der Tat gibt es nichts Besonderes Besonderes über eine bestimmte Kopie; mit der Ausnahme, dass eine Kopie allgemein als die "kanonische" Kopie vereinbart wurde, in der das Endprodukt aufbewahrt wird.
Zurück zu Ihrer Frage ... Das "kanonische" Repository, das Sie beim Starten Ihrer lokalen Kopie geklont haben, enthielt standardmäßig einen "Master" -Zweig. und es steckt herum. Wenn Sie nun Zugriff auf den Computer hatten, der das Master-Repository enthält, können Sie sich anmelden und Folgendes ausführen:
git branch -d master
Wenn Sie dies jedoch nicht können, können Sie dies immer noch von Ihrem lokalen Computer aus tun. Der git branch
Befehl hat eine -r
Option, die sich auf das Remote-Repository auswirkt. Mit anderen Worten, der folgende Befehl sollte funktionieren:
git branch -d -r master
Beachten Sie, dass in beiden Fällen; Ich gehe davon aus, dass master
dies vollständig in den Entwicklungsverlauf eingeflossen ist, in dem sich Ihre lokale Kopie derzeit befindet. Wenn Sie noch nie master
zuvor verwendet haben (dh Sie haben nur bei development
oder eingecheckt production
), müssen Sie sich keine Sorgen machen. Wenn Sie (oder eine andere Person) bereits eingecheckt haben master
, liegt möglicherweise ein Problem vor. Sie können einen Löschvorgang erzwingen, indem Sie in den obigen Befehlen den Befehl -d
to ändern -D
. aber ich empfehle dringend, master
vorher nachzusehen, was drin ist! Wenn Sie keinen Zugriff auf den Remotecomputer haben, können Sie ihn wahrscheinlich nicht wiederherstellen!
Apropos; Wenn Sie (oder jemand anderes) neu bei Git sind, empfehle ich dringend, Git aus Bottom Up von John Wiegley zu lesen . Obwohl ich Git ein bisschen alleine benutzt hatte, bevor ich diesen Artikel gefunden hatte, verstand ich nicht wirklich, wie es funktionierte, bis ich es las. Es ist sehr nützlich!
git branch -d -r master
der Remote-Zweig nicht mehr gelöscht - die Kenntnis Ihrer lokalen Kopie über den Remote-Zweig wird gelöscht . Das nächste Malgit fetch
, wenn Sie , wird die Niederlassung zurück sein! Stattdessen möchten Sie ausgeführt werdengit push origin :master
. Im Wesentlichen verschieben Sie hier eine Null-Verzweigung (den leeren Verzweigungsnamen links von der:
) über die entfernte Verzweigung (den Verzweigungsnamen rechts von der:
) und löschen sie effektiv.master
ist der Standardzweig für Git. Ich weiß nicht, warum es für Sie so schrecklich ist, wenn git Ihnen sagt, wie weit Sie vom Master entfernt sind, aber wenn Sie einen Zweig in Ihrem Remote-Repository löschen möchten, reicht es nicht aus, ihn lokal zu löschen. Versuchen Sie dies stattdessen:Dadurch wird nichts (der Teil vor dem Doppelpunkt) auf Ihren Ursprungsserver übertragen und der Master überschrieben. Mit anderen Worten, der Hauptzweig sollte remote gelöscht werden.
quelle