Saya tahu saya terlambat ke pesta, tapi inilah jawaban saya.
Seperti kata @ Joakim, untuk mengabaikan file, Anda dapat menggunakan sesuatu seperti di bawah ini.
# Ignore everything
*
# But not these files...
!.gitignore
!someFile.txt
tetapi jika file dengan direktori bersarang, agak sulit untuk secara manual menulis aturan.
Misalnya, jika kita ingin melewatkan semua file dalam suatu git
proyek, tetapi tidak a.txt
yang berlokasi di aDir/anotherDir/someOtherDir/aDir/bDir/cDir
. Maka, kita .gitignore
akan menjadi seperti ini
# Skip all files
*
# But not `aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt`
!aDir/
aDir/*
!aDir/anotherDir/
aDir/anotherDir/*
!aDir/anotherDir/someOtherDir/
aDir/anotherDir/someOtherDir/*
!aDir/anotherDir/someOtherDir/aDir/
aDir/anotherDir/someOtherDir/aDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/
aDir/anotherDir/someOtherDir/aDir/bDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/
aDir/anotherDir/someOtherDir/aDir/bDir/cDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt
Di atas diberikan .gitignore
File yang akan melewati semua dir dan file kecuali!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt
Seperti yang telah Anda catat, sulit untuk mendefinisikan aturan-aturan itu.
Untuk mengatasi rintangan ini, saya telah membuat aplikasi konsol sederhana bernama git-do-not-ign yang akan menghasilkan aturan untuk Anda. Saya telah menginangi proyek di github dengan instruksi terperinci.
Contoh Penggunaan
java -jar git-do-not-ignore.jar "aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt"
Keluaran
!aDir/
aDir/*
!aDir/anotherDir/
aDir/anotherDir/*
!aDir/anotherDir/someOtherDir/
aDir/anotherDir/someOtherDir/*
!aDir/anotherDir/someOtherDir/aDir/
aDir/anotherDir/someOtherDir/aDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/
aDir/anotherDir/someOtherDir/aDir/bDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/
aDir/anotherDir/someOtherDir/aDir/bDir/cDir/*
!aDir/anotherDir/someOtherDir/aDir/bDir/cDir/a.txt
Ada juga versi web sederhana yang tersedia di sini
Terima kasih.