Giả sử tôi đang cố gắng thanh toán một tập hợp tệp git nhất định, ví dụ: app/*^(.tmpl).html
,cách sử dụng lệnh regex trong lệnh git checkout để chỉ định tập hợp con tập tin
cách ném regex này vào git checkout branch -- (regex)
Giả sử tôi đang cố gắng thanh toán một tập hợp tệp git nhất định, ví dụ: app/*^(.tmpl).html
,cách sử dụng lệnh regex trong lệnh git checkout để chỉ định tập hợp con tập tin
cách ném regex này vào git checkout branch -- (regex)
Như đã đề cập trong "Is there a way to use wildcards with git checkout
?"
Git không đối phó với các ký tự đại diện, nhưng vỏ của bạn không.
Là noted below, bạn cần phải thoát ký tự đại diện để git diễn giải nó: afile\*
hoặc sử dụng dấu ngoặc đơn giản.
Các example section of git checkout
cho thấy một cách sử dụng ký tự đại diện:
rm hello.c
git checkout -- '*.c'
Lưu ý các dấu ngoặc kép quanh
*.c
.
Các tập tinhello.c
cũng sẽ được kiểm tra, mặc dù nó không còn trong cây làm việc, bởi vì các tập tin globbing được sử dụng để phù hợp với các mục trong chỉ mục (không phải trong cây làm việc của vỏ).
Một thay thế, ví dụ, sẽ sử dụng find (như trong "“git add *.js
” did not add the files in sub-directories")
find . -name '*js' -exec git checkout {} \;
Bạn có thể thử regex của bạn với find --regex
câu trả lời tuyệt vời, tôi có thể thấy nó giải quyết các vấn đề khác trên đường ... – user2167582
git bây giờ hỗ trợ regex khi thanh toán, xem bên dưới. – Ezra
@Ezra Cảm ơn bạn. Tôi đã sửa đổi câu trả lời cho phù hợp. – VonC
Chỉ cần cập nhật câu trả lời này nhưng tôi đã có thể đến git checkout
với ký tự đại diện để tôi tin rằng điều này là có thể ngay bây giờ. Tôi đang chạy phiên bản git 1.9.3.
Lưu ý rằng dấu hoa thị phải được thoát, tuy nhiên: 'git checkout foo \ *' –
Bạn đã sử dụng câu lệnh nào từ câu trả lời của tôi dưới đây? một 'tìm - regex'? – VonC