Ponieważ Git wersja 2.6, można określić częściowe podciągi (z proste dopasowanie w stylu globalnym) w refspec do pobrania lub wypychania. Dlatego:
git fetch origin 'refs/heads/ft_d*:refs/remotes/origin/ft_d*'
zrobi to, o co prosisz. Uogólnione wyrażenia regularne to: , nie dostępne, ani uogólnione globsy: dozwolony jest tylko jeden określony przypadek *
dopasowywania wszystkiego między dwoma ustalonymi ciągami. (Niektóre stałe ciągi tutaj może być pusta. Zazwyczaj tylna połowa, czyli zwykle pobrać refs/heads/*
nie refs/heads/*x
dostać tylko oddziały, których nazwa kończy się x
.)
Jeśli Git jest starsza niż 2.6, nie ma to prosty sposób zrobienia tego w jednym pobraniu. Będziesz potrzebował wielu pobrań, w pętli, i będziesz musiał zrobić własne dopasowanie nazw, być może używając wyjścia z git ls-remote
.
(Oczywiście, git fetch origin
zwykle tylko przynieść wszystko nad, jak podano we wpisie remote.origin.fetch
konfiguracyjnym lub wpisów, w większości przypadków nie ma sensu ograniczać git fetch
ten sposób. Czy na pewno chcesz się męczyć?)
Moja wersja Git to 1.7.9.5. Mam zamiar zaktualizować mój git i sprawdzę to. – dnsh
To działa. Ponieważ jestem nowy w git, nie byłem w stanie tego zrozumieć. Musiałem przeczytać https://git-scm.com/book/en/v2/Git-Internals-The-Refspec, aby zrozumieć to rozwiązanie. – dnsh