Seit Git Version 2.6, Sie Teilstrings angeben können (mit einfaches glob-style matching) in einem fetch oder push refspec. Also:
git fetch origin 'refs/heads/ft_d*:refs/remotes/origin/ft_d*'
würde tun, was Sie verlangen. Verallgemeinerte reguläre Ausdrücke sind nicht verfügbar, noch verallgemeinerte Globs: nur der eine spezifische Fall von *
, der alles zwischen zwei festen Zeichenketten zusammenbringt, ist erlaubt. (Einige festen Strings hier können leer sein. Normalerweise ist die hintere Hälfte, das heißt, wir in der Regel refs/heads/*
holen, nicht refs/heads/*x
nur Zweige, dessen Namen endet in x
zu erhalten.)
Wenn Ihr Git älter ist als 2,6, gibt es keine einfache Möglichkeit, dies in einem Abruf zu tun. Sie benötigen mehrere Abrufe in einer Schleife, und Sie müssen Ihren eigenen Namensabgleich durchführen, möglicherweise unter Verwendung der Ausgabe von git ls-remote
.
(Natürlich wird git fetch origin
normalerweise bringen nur alles über, wie in dem remote.origin.fetch
Konfigurationseintrag oder Einträgen angegeben, und in den meisten Fällen macht es wenig Sinn in beschränke git fetch
auf diese Weise. Sind Sie sicher, dass Sie stören wollen?)
Meine Git Version ist 1.7.9.5. Ich werde mein Git aktualisieren und werde das überprüfen. – dnsh
Das funktioniert. Da ich neu bei Git bin, konnte ich das nicht vollständig verstehen. Ich musste https://git-scm.com/book/en/v2/Git-Internals-The-Refspec lesen, um diese Lösung zu verstehen. – dnsh