Ich habe einen Master- und einen Dev-Zweig in meinem Repository. Ich möchte den Hauptzweig von meinem Computer entfernen, damit ich mich nicht versehentlich darauf einlasse (es ist passiert ..).
Hier gibt es Fragen zum lokalen und Remote- Löschen von Zweigen , aber ich konnte nicht herausfinden, wie nur ein Zweig lokal gelöscht werden kann.
Eine Antwort sagte, dies zu verwenden:
git branch -d local_branch_name
Aber ich habe es versucht und der Zweig wird immer noch in der GitHub-Anwendung angezeigt.
Deleted branch master (was e8a8e29).
Antworten:
Ich denke , (basierend auf Ihren Kommentaren) , dass ich verstehe , was Sie tun möchten: Sie Ihre lokale Kopie des Repository wollen die gewöhnliche lokale Niederlassung haben , weder
master
, noch die Fernverfolgung Zweigorigin/master
, auch wenn das Repository geklont-the Github eine - hat einen lokalen Zweigmaster
, den Sie nicht aus der Github-Version löschen möchten.Sie können dies tun, indem Sie den Remote-Tracking-Zweig lokal löschen. Dieser wird jedoch jedes Mal wieder angezeigt, wenn Sie Ihren Git bitten, Ihr lokales Repository mit dem Remote-Repository zu synchronisieren, da Ihr Git den Git fragt, welche Zweige Sie haben sagt "Ich habe
master
", damit Ihr Git (neu)origin/master
für Sie erstellt, damit Ihr Repository das hat, was es hat.So löschen Sie Ihren Remote-Tracking-Zweig lokal über die Befehlszeilenschnittstelle:
Aber auch hier wird es nur bei erneuten Synchronisierungen wieder angezeigt. Es ist auch möglich, dies zu besiegen (durch
remote.origin.fetch
Manipulation), aber Sie sind wahrscheinlich besser dran, nur diszipliniert genug zu sein, um nichtmaster
lokal zu erstellen oder zu ändern .quelle
Erzwingen Löschen des lokalen Zweigs:
[ HINWEIS ]:
"-D"
ist die Option zum Löschen erzwingen.quelle
Soweit ich das ursprüngliche Problem verstehen kann, haben Sie versehentlich Commits zum lokalen Master hinzugefügt und diese Änderungen noch nicht vorgenommen. Jetzt möchten Sie Ihre Änderungen abbrechen und hoffen, Ihre lokalen Änderungen zu löschen und einen neuen Hauptzweig aus dem Remote-Zweig zu erstellen.
Sie können einfach Ihre Änderungen zurücksetzen und den Master vom Remote-Server neu laden:
quelle
Die Github-Anwendung für Windows zeigt alle Remote-Zweige eines Repositorys an. Wenn Sie den Zweig lokal mit gelöscht haben
$ git branch -d [branch_name]
, ist der Remote-Zweig weiterhin in Ihrem Github-Repository vorhanden und wird unabhängig von der Windows-Github-Anwendung angezeigt.Wenn Sie den Zweig vollständig löschen möchten (auch remote), verwenden Sie den obigen Befehl in Kombination mit
$ git push origin :[name_of_your_new_branch]
. Warnung: Dieser Befehl löscht alle vorhandenen Zweige und kann zu Codeverlust führen. Seien Sie vorsichtig, ich glaube nicht, dass Sie dies versuchen.Jedes Mal, wenn Sie die lokalen Zweigänderungen löschen, wird der Remote-Zweig weiterhin in der Anwendung angezeigt. Wenn Sie keine weiteren Änderungen vornehmen möchten, ignorieren Sie diese einfach und klicken Sie nicht darauf. Andernfalls können Sie das Repository klonen. Wenn Sie weitere Fragen hatten, lassen Sie es mich bitte wissen.
quelle
Sie müssen in einen anderen Zweig wechseln und das Gleiche versuchen.
Git-Zweig -d
quelle
Anhand Ihrer Tags gehe ich davon aus, dass Sie Github verwenden. Warum erstellen Sie nicht einige Zweigschutzregeln für Ihren Hauptzweig? Auf diese Weise wird es abgelehnt, selbst wenn Sie versuchen, auf Master zu drücken.
Ich würde auch empfehlen, dasselbe für Ihren Entwicklungszweig zu tun.
quelle