eins von zwei git origins entfernen

Django, Flask, Bottle, WSGI, CGI…
Antworten
Pitwheazle
User
Beiträge: 873
Registriert: Sonntag 19. September 2021, 09:40

Mal was anderes:
Hier gibt es doch sicher auch Leute, die sich mit Git auskennen
Zu allem anderen musste ich mich ja auch mit git beschäftigen und habe auch hier viel rumprobiert. Irgendwie habe ich es geschafft zwei Links als origin zu erstellen, eines heißt "main" und das andere "master". Ich denke, das ist nicht normal. "main" ist mit github verbunden und dort auch aktuell. Wie, wo und wann ich an die ältere Version namens "master" gekommen bin weiß ich nicht. Wie werde ich die wieder los? Die nimmt ja nur Platz weg und verwirrt.Bild
__deets__
User
Beiträge: 14544
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist an sich normal und voellig egal, kosten tut das nix.

origins ist auch der falsche Begriff hier. origin ist einfach nur der Defaultname fuer das remote, also den entfernten Ort, an zu dem du deine Aenderungen pushen kannst (und solltest, mindens mal als Backup). Was du hier hast sind branches, und die sowohl lokal, als auch auf dem remote.

Wenn du einen branch lokal loeschen willst, geht das zB mit "git branch -d <branchname>". Wenn du einen auf dem remote loeschen willst, dann ist das "git push origin --delete <branchname>".
Pitwheazle
User
Beiträge: 873
Registriert: Sonntag 19. September 2021, 09:40

Danke. Ich dachte, die branches sind die "Äste" und origin der "Stamm".
__deets__
User
Beiträge: 14544
Registriert: Mittwoch 14. Oktober 2015, 14:29

Der Stamm waere im konventionellen Sinne main. Aber der ist an sich auch nix besonderes, das ist nur eine Konvention. Der koennte auch development, oder pillepalle heissen. Das ist nur dein Umgang damit, der da einen Unterschied macht.
Benutzeravatar
__blackjack__
User
Beiträge: 13116
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wahrscheinlich eine Folge vom Wechsel vom Begriff „master“ zu „main“, weil sich da Leute dran stören etwas „master“ zu nennen was überhaupt nichts mit Sklaverei zu tun hat. Hier wird/wurde das in der Bedeutung „The original of a document or of a recording.“ verwendet.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
narpfel
User
Beiträge: 645
Registriert: Freitag 20. Oktober 2017, 16:10

__blackjack__ hat geschrieben: Montag 10. Oktober 2022, 16:28 [...] etwas „master“ zu nennen was überhaupt nichts mit Sklaverei zu tun hat. Hier wird/wurde das in der Bedeutung „The original of a document or of a recording.“ verwendet.
https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/ hat geschrieben: Historically, the default name for this initial branch was master. This term came from Bitkeeper, a predecessor to Git. Bitkeeper referred to the source of truth as the "master repository" and other copies as "slave repositories".
Benutzeravatar
__blackjack__
User
Beiträge: 13116
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@narpfel: Wäre ein Argument wenn Git auch „slave“ als Begriff übernommen hätte. So bleibt halt „master“ in der anderen Bedeutung. Ich find's problematisch anderen Leuten gezwungen ”gute” Worte überhelfen zu wollen. Mir ist das ja sogar egal, dass das bei neu angelegten Repos anders heisst, aber es sollten nicht bei bestehenden Repos einfach so neue Branches auftauchen ohne das *ich* die angelegt habe, ohne einen technisch nachvollziehbaren Grund. Ganz offensichtlich verwirrt so etwas Nutzer.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
__deets__
User
Beiträge: 14544
Registriert: Mittwoch 14. Oktober 2015, 14:29

@__blackjack__: erstmal hast du ja die Behauptung aufgestellt, dass das einen anderen Ursprung hätte, und das wäre Grund, daran keinen Anstoß zu nehmen. Augenscheinlich stimmt das nicht, und ganz plötzlich ist das garnicht mehr das Argument. Das ist ein bisschen Torpfostenschieberei finde ich.

Ich weiß nicht, was pitwheazle getan hat. Aber persönlich habe ich nicht erlebt, dass mir da etwas aufgezwungen wurde bei github. Alle meine repos (bei den ich das getan habe), habe ich selbst übersetzt. Und ich kann mir das auch schwer vorstellen, dass GH das automatisch macht, denn auf deinem Rechner können die das ja gar nicht. Irgendwie ist aber auch ein lokaler main aufgetaucht beim OP. Da würde ich also eher mal keinen big brother vermuten.

Was dieses aufzwingen von Namen angeht…. Andauernd passiert mir das beim programmieren, wenn plötzlich aus thread.setDaemon(True) ein thread.daemon = True wird. Weil jemand der Heiligen Konsistenz ein Opfer darbringt. Komischerweise gehen dabei deutlich weniger Diskussionen los.
Benutzeravatar
__blackjack__
User
Beiträge: 13116
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@__deets__: Für mich hatte das bis zu dem Zeitpunkt die Bedeutung, und ich denke für die meisten Leute die Git benutzen auch. Es sei denn ich bin der einzige der Bitkeeper und dessen Namensgebung nicht kennt. Ich sehe keinen Grund den Torpfosten nicht einfach zu verschieben, denn diese Bedeutung des Wortes gibt es ja, warum also nicht einfach nutzen?

Wie auch immer das beim OP passiert ist, offensichtlich nicht durch eine bewusste Aktion, sonst wäre da ja jetzt nicht die Verwunderung.

Bei der Vereinheitlichung der Namen in der Standardbibliothek sehe ich einen Nutzen. Für mich und für andere Python-Programmierer. Das hat letztlich einen ”technischen” Grund. Natürlich geht da von mir keine Diskussion los. Und wie schon gesagt habe ich auch kein Problem damit den „master“-Branch „main“ zu nennen. Solange das nicht zu Verwirrung und Problemen führt. Also neu angelegte Repos und auch ein Hinweis für bestehende Repos, dass man das umbenennen (lassen) kann und was man dabei beachten muss/welche Folgen das hat.

Die noch bessere Änderung bei dem `daemon` finde ich ja, dass man das auch als Argument übergeben kann, statt ein Attribut setzen zu müssen. 😀
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Pitwheazle
User
Beiträge: 873
Registriert: Sonntag 19. September 2021, 09:40

Also, ich melde mich hier auch nochmal:
Ob das main oder master heißt ist mir eigentlich wurst (bei master dachte ich eher an IDE Festplatten). Irgendwie habe ich beim Rumprobieren mit Git halt zwei verschiedene erstellt und den "master" brauche ich nicht mehr, der branch ist veraltet.
__deets__ hat geschrieben: Montag 10. Oktober 2022, 15:48 Wenn du einen auf dem remote loeschen willst, dann ist das "git push origin --delete <branchname>".
Lokal ist er weg aber den remote kann ich nicht löschen: "error: unable to delete 'master': remote ref does not exist
error: failed to push some refs to 'https://github.com..."
... das wundert mich nicht sehr, den auf Github ist er nicht (mehr). ich will aber nicht ausschließen, dass ich auch mal einen anderen Account hatte und den "master" dort hochgeladen habe - wie bekomme ich das raus?
__deets__
User
Beiträge: 14544
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ein git fetch gefolgt von git branch -a sollte for Anzeigen, welche branches es alle gibt.
Pitwheazle
User
Beiträge: 873
Registriert: Sonntag 19. September 2021, 09:40

Ja, stimmt, die branches werden ordentlich angezeigt. Das hilft mir aber nicht bei dem "toten" "origin/master remotebranch". Ich vermute, der zeigt auf irgendeine Verknüpfung, die nicht mehr existiert. Kann man da das Löschen nicht erzwingen?
__deets__
User
Beiträge: 14544
Registriert: Mittwoch 14. Oktober 2015, 14:29

Den Befehl zum loeschen habe ich genannt. Wenn der nicht tut, ist da was anderes verfummelt. Du kannst auch einfach mal das repositiory neu clonen, und dann ist es ggf. bereinigt. Alternativ in der .git/config danach suchen, ob es da Eintraege gibt, die man enternen kann/soll.
Antworten