Git: .gitignore 忽略所有子資料,但要保留特定的資料夾

.gitignore 檔案

test/
!test/keep

想要把所有 test 下的忽略掉但還是保留 test/keep
這樣子設定還是會把所有 test 忽略
不知道哪裡有用錯?

一開始要用 test/* 才行

test/*
!test/keep

這樣就可以保留 test/keep
原先的 git 會覺得 test 整個都不要,就停留在 test
但這個則是,test 底下的都不要,所以會再往下去看 test 裡的東西