Kể từ Git phiên bản 2.6, bạn có thể chỉ định chuỗi con từng phần (với kết hợp kiểu glob đơn giản) trong tìm nạp hoặc đẩy refspec. Do đó:
git fetch origin 'refs/heads/ft_d*:refs/remotes/origin/ft_d*'
sẽ làm những gì bạn yêu cầu. Cụm từ thông dụng tổng quát là không phải là có sẵn, cũng không phải là các ô được tổng quát: chỉ một trường hợp cụ thể là *
khớp với mọi thứ giữa hai chuỗi cố định. (Một số chuỗi cố định ở đây có thể được sản phẩm nào. Thông thường, nửa lại được, ví dụ, chúng ta thường lấy refs/heads/*
, không refs/heads/*x
để có được chỉ chi nhánh có tên kết thúc bằng x
.)
Nếu Git của bạn là lớn hơn 2,6, không có cách đơn giản để thực hiện việc này trong một lần tìm nạp. Bạn sẽ cần nhiều lần tìm nạp, trong một vòng lặp và bạn sẽ cần phải thực hiện đối sánh tên của riêng mình, có thể sử dụng đầu ra từ git ls-remote
.
(Tất nhiên, git fetch origin
sẽ thường chỉ mang mọi thứ trên, theo quy định tại mục remote.origin.fetch
cấu hình hoặc mục, và trong nhiều trường hợp có rất ít điểm trong kìm hãm git fetch
theo cách này. Bạn có chắc chắn bạn muốn làm phiền?)
Phiên bản Git của tôi là 1.7.9.5. Tôi sẽ cập nhật git của tôi và sẽ kiểm tra điều này. – dnsh
Tính năng này hoạt động. Vì tôi mới thành git nên tôi không thể hiểu được điều này hoàn toàn. Tôi phải đọc https://git-scm.com/book/en/v2/Git-Internals-The-Refspec để hiểu giải pháp này. – dnsh