Jadi saya mencoba mengerjakan perintah untuk rsync folder sumber dengan struktur seperti ini:
- app.js
- .gitignore
- src/
- src/logs/
- src/logs/.gitignore
.Gitignore pertama akan mengabaikan serangkaian file. Hal-hal yang khas. Yang kedua akan terlihat seperti berikut:
*
!.gitignore
Teknik ini digunakan ketika Anda ingin memeriksa dalam direktori dengan tidak ada file di dalamnya. Mungkin ada lebih banyak .gitignores di seluruh direktori - ini hanya satu skenario. Jadi pertanyaan saya adalah ini: Apakah mungkin untuk membuat rsync menginterpretasikan semua .gitignores relatif terhadap direktori tempat mereka berada?
Upaya awal saya adalah sebagai berikut:
- Glob semua .gitignores di direktori.
- Bangun perintah yang terlihat seperti:
rsync --exclude-from=.gitignore --exclude-from=src/logs/.gitignore --exclude-from=some/other/folder/.gitignore [source] [destination]
Namun, ini tidak berhasil seperti yang diharapkan untuk saya. Semuanya diabaikan karena membaca semua file .gitignore seolah-olah mereka di root. Apakah ada cara yang mungkin untuk melakukan ini tanpa harus grep untuk semua .gitignores dan membuat satu file master dengan path yang ditulis ulang semua relatif terhadap direktori root?
Terima kasih!