Ich habe versehentlich einige Remote-Zweige beschnitten und weiß nicht genau, was die Folge davon ist (ich habe in Git Extensions auf die Schaltfläche "Remote-Zweige beschneiden" geklickt, weil ich dachte, es würde einen Remote-Zweig löschen).
In der offiziellen Dokumentation heißt es "git-prune - Alle nicht erreichbaren Objekte aus der Objektdatenbank entfernen". Ich verstehe nicht wirklich, was das bedeutet. Ich vermute, dies hätte zusammengeführte Zweige entfernt, bin mir aber nicht sicher.
git
git-extensions
Daniel Ball
quelle
quelle
git gc
: git-scm.com/docs/git-prune auch.Antworten:
"Remote-Zweige beschneiden" in Git Extensions führt den
git remote prune
Befehl aus, mit dem Ihre lokalen Remote-Tracking-Zweige entfernt werden, bei denen der Zweig nicht mehr auf dem Remote vorhanden ist.Siehe hier: https://git-scm.com/docs/git-remote#git-remote-empruneem
quelle
Dieser Müll sammelt deine Zweige.
Das heißt, wenn ein Objekt (ein Commit) in keinem der Vorfahren Ihres Zweigs erreicht werden kann, wird es für die Git-Datenbank entfernt und kann daher nicht mehr erreicht werden.
Dies räumt das Git-Repository nur ein wenig auf und macht es leichter.
quelle
git gc
als eine,git prune
die im Wesentlichen auch eine Git-Beschneidung ausführt.git prune
undgit remote prune
. Sie sind nicht gleich, letztere räumt tatsächlich Zweige auf, die auf der Fernbedienung nicht mehr vorhanden sind, während lokale Zweige unberührt bleiben.Es ist wichtig zu wissen, dass die Pflaume repo-gebunden ist . Nicht jeder weiß, dass Sie Ihr lokales Repo mit mehreren Fernbedienungen verknüpfen können. Dies ist praktisch, wenn Sie beispielsweise mit einem Open-Source-Projekt arbeiten und gezwungen sind, über Gabeln zu arbeiten.
Für den Befehl prune ist daher ein Reponame erforderlich. In den meisten Fällen ist es das
git remote prune origin
, aber Sie können Ihr Repo alles nennen, es muss nicht seinorigin
.quelle
Es kann Remote-Feature-Zweige geben, die entfernt werden, nachdem wir sie in Master zusammengeführt haben. Möglicherweise haben wir die Feature-Zweige gelöscht, um sie zu bereinigen. Wenn Sie jedoch den gelöschten Zweig auf dem lokalen System ausgecheckt und den Status "Tracking" festgelegt haben, löscht Git Pull diese lokalen Zweige nicht (da diese bereits vom Server getrennt sind). Um diese Art von lokalen Waisenzweigen zu bereinigen, ist der
git prune
Befehl hilfreich.quelle