Saya mencoba menggunakan file .gitignore dengan pola yang dinegasikan (baris dimulai dengan!), Tetapi tidak berfungsi seperti yang saya harapkan.
Sebagai contoh minimal, saya memiliki struktur direktori berikut:
C:/gittest
-- .gitignore
-- aaa/
-- bbb/
-- file.txt
-- ccc/
-- otherfile.txt
dan di file gitignore saya, saya memiliki ini:
aaa/
!aaa/ccc/
Pemahaman saya (berdasarkan halaman doc ini ) adalah bahwa file aaa / ccc / otherfile.txt tidak boleh diabaikan, tetapi sebenarnya git mengabaikan semua yang ada di bawah aaa.
Apakah saya salah memahami kalimat ini: "Awalan opsional! Yang meniadakan pola; file apa pun yang cocok yang dikecualikan oleh pola sebelumnya akan disertakan lagi."?
BTW, ini di Windows dengan msysgit 1.7.0.2.
Jika Anda ingin mengecualikan semua yang ada di
aaa
, tetapi menyertakanaaa/ccc
dan semua yang ada di bawahnya, Anda harus menggunakan:Baris pertama memberitahu git untuk mengabaikan semua yang ada di bawahnya
aaa
, baris kedua memberitahu untuk tidak mengabaikan folderaaa/ccc
yang sebenarnya "mengaktifkan" baris ketiga yang kemudian memberitahu untuk tidak mengabaikan semua yang ada di bawahnyaaaa/ccc
.sumber
aaa/ccc
di tingkat manapun, yang bekerja untuk saya adalah!aaa/ccc/**
bukan!aaa/ccc/*
Jika ada yang masih tidak melihat item baru un-diabaikan dalam
git status
menjalankangit update-index
sebelum tangan dapat membantu git untuk melihat perubahan (setidaknya dalam versi 1.9.x dari gitbash).sumber