Wenn jemand einen Remote-Zweig gelöscht hat, weil die Arbeit beendet ist und ich es nicht weiß, werde ich keinen ausführen git fetch --prune
und schließlich den gelöschten Zweig zurückschieben.
Gibt es eine praktikable Lösung, um Git zu zwingen, beim Abrufen / Ziehen den Bereinigungsmodus zu verwenden, ohne ihn jedes Mal angeben zu müssen?
git fetch
! Siehe meine Antwort untenAntworten:
Seit git 1.8.5 (Q4 2013) :
Das heißt, wenn Sie remote.origin.prune auf true setzen:
Beliebig
git fetch
odergit pull
wird automatisch beschneiden.Hinweis: Git 2.12 (Q1 2017) behebt einen Fehler im Zusammenhang mit dieser Konfiguration, der zu einem
git remote rename
Fehlverhalten führen würde.Siehe " Wie benenne ich eine Git-Fernbedienung um? ".
Weitere Informationen finden Sie unter Commit 737c5a9 :
quelle
git config --global fetch.prune true
git config --global fetch.prune true
Um immer
--prune
fürgit fetch
undgit pull
in all Ihren Git-Repositories:Dieser obige Befehl hängt in Ihrer globalen Git-Konfiguration (normalerweise
~/.gitconfig
) die folgenden Zeilen an. Verwendengit config -e --global
Sie diese Option , um Ihre globale Konfiguration anzuzeigen.git config remote.origin.prune true
Um immer
--prune
aber aus einem einzigen Repository:Dieser obige Befehl fügt in Ihrer lokalen Git-Konfiguration (normalerweise
.git/config
) die letzte Zeile hinzu. Verwendengit config -e
Sie diese Option , um Ihre lokale Konfiguration anzuzeigen.Sie können auch
--global
innerhalb des zweiten Befehls oder stattdessen--local
innerhalb des ersten Befehls verwenden.git config --global gui.pruneDuringFetch true
Wenn Sie verwenden
git gui
, könnten Sie auch interessiert sein an:das hängt an:
Verweise
Die entsprechenden Dokumentationen von
git help config
:quelle
git config -e
undgit config -e --global
aus diesem Beitrag erfahren . Sie müssen keinevim
Befehle mehr eingeben , um auf einen bestimmten Pfad zu einer Git-Konfigurationsdatei zu verweisen, und müssen sich überlegen, was dieser bestimmte Pfad ist.git config --global fetch.prune true
" genauso gut gefunden (mit einem Link zu den relevanten Dokumenten).Wenn Sie immer
prune
wann möchten, kannfetch
ich vorschlagen, Aliase zu verwenden .Geben Sie einfach ein
git config -e
, um Ihren Editor zu öffnen, die Konfiguration für ein bestimmtes Projekt zu ändern und einen Abschnitt wie hinzuzufügenDas Abrufen mit
git pfetch
der Pflaume erfolgt automatisch.quelle
pull
undfetch
und ihre beschnittene Version. Eigentlich denke ich (aber ich habe es nicht versucht), dass Siefetch = fetch --prune
direkt in den Alias-Bereich schreiben können und daherpull
den beschnittenen Abruf automatisch verwenden werdenfetch = fetch --prune
funktioniert das Überschreiben eines Befehls mit einem Alias bei mir nicht. Dies könnte daran liegen, dass ich eine alte Version (1.7.2.5) verwende