2010-04-14 20 views
6

Có một số tương tự git find của git grep, tức là, cái gì đó sẽ tìm thấy tên tệp theo mẫu trong cây? Tôi đã trải qua rất nhiều tài liệu về git và không tìm thấy điều này, nhưng tôi đang gặp khó khăn khi tin rằng nó không tồn tại ở đâu đó.có 'git find' không?

Trả lời

6

Bạn có thể liệt kê tất cả các file trong một đối tượng cây sử dụng git ls-tree -r --name-only --full-tree <treeish>. Ống này thông qua một grep thường xuyên để tìm thấy những gì bạn đang tìm kiếm.

+3

làm thế nào về chỉ 'git ls-files' và đường ống thông qua grep? – hasen

+1

'git ls-files' chỉ liệt kê các tệp hiện đang có. Câu trả lời của Geoff sẽ hiển thị * tất cả * tệp trong cây, bao gồm các tệp đã bị xóa trong quá khứ. – splicer

1

Hãy thử git-ls-tree và chạy sản lượng thông qua grep(1)

1

Nó chỉ đơn giản:

git ls-files 'yourpattern' 
+2

gần như hoạt động; nó sử dụng globs thay vì regexps, và yêu cầu tôi phải nói 'ls-files **/filename' thay vì' ls-files filename'. có vẻ lạ rằng git có thể thực hiện tìm kiếm regexp thông qua nội dung của tệp nhưng không thông qua tên tệp của họ. –

Các vấn đề liên quan