Saya telah melihat pertanyaan serupa ( 1 , 2 dan 3 ), tetapi saya tidak mendapatkan solusi yang tepat dari mereka.
Saya perlu mengabaikan semua file di bawah folder tertentu kecuali untuk jenis file tertentu. Folder tersebut adalah subdirektori untuk jalur root. Biar saya beri nama foldernya Resources
. Karena saya tidak ingin mempersulit banyak hal, izinkan saya mengabaikan file di bawah semua folder yang diberi nama di Resources
mana pun itu.
Ini adalah solusi paling umum (di semua pertanyaan duplikat)
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore
!.gitignore
# Now exclude our type
!*.foo
Masalah dengan solusi ini adalah ia berhenti melacak file yang baru ditambahkan (karena *
mengabaikan semua file). Saya tidak ingin terus mengecualikan setiap jenis file. Saya ingin perilaku normal di mana jika ada file baru yang ditambahkan, git status
tunjukkan.
Saya akhirnya mendapat solusi di sini . Solusinya adalah menambahkan .gitignore
file lain ke dalam Resources
folder. Ini bekerja dengan benar.
Bisakah saya mencapai hal yang sama dengan satu file abaikan? Saya menemukan banyak mengabaikan file dalam direktori yang berbeda agak kikuk.
Inilah yang saya coba capai:
# Ignore everything under Resources folder, not elsewhere
Resources
# Don't ignore directories, so we can recurse into them
!*Resources/
# Now exclude our type
!*.foo
Tapi ini memberikan hasil yang berlawanan. Ini mengabaikan *.foo
jenis dan melacak file lain.
DirectoryName1/** DirectoryName1/**/*
untuk masing-masing. Pertama menghapus direktori tetapi Anda membutuhkan yang kedua untuk menghapus semua jenis file.