Vì vậy, tôi đang cố gắng thực hiện một lệnh để rsync một thư mục nguồn có cấu trúc như vậy:
- app.js
- .gitignore
- src/
- src/logs/
- src/logs/.gitignore
.Gitignore đầu tiên sẽ có một loạt các tệp bị bỏ qua. Công cụ điển hình. Thứ hai sẽ trông như sau:
*
!.gitignore
Kỹ thuật này được sử dụng khi bạn muốn kiểm tra trong một thư mục không có tệp nào bên trong. Cũng có thể có nhiều .gitignores trong toàn thư mục - đây chỉ là một kịch bản. Vì vậy, câu hỏi của tôi là: Có thể làm cho rsync diễn giải tất cả .gitignores liên quan đến thư mục họ đang ở không?
Nỗ lực ban đầu của tôi là như sau:
- Glob tất cả .gitignores trong thư mục.
- Xây dựng lệnh trông giống như:
rsync --exclude-from=.gitignore --exclude-from=src/logs/.gitignore --exclude-from=some/other/folder/.gitignore [source] [destination]
Tuy nhiên, điều này đã không làm việc như mong đợi đối với tôi. Mọi thứ đang bị bỏ qua vì nó đang đọc tất cả các tệp .gitignore như thể chúng ở gốc. Có cách nào khả thi để làm điều này mà không phải grep cho tất cả .gitignores và tạo một tệp chủ với các đường dẫn được viết lại tất cả liên quan đến thư mục gốc không?
Cảm ơn!