在我的.gitignore中,我有一句话:
/storage/*.key
但我不想忽略这条具体路径及其所有内容:
/storage/app/public/*
现在,在那条路径中还有另一个.gitinore文件,它有:
*
!.gitignore
在同一条道路上还有另一个.gitignore:
*
!public/
!.gitignore
我认为这将是添加路径但不起作用。
那是什么?怎么做我想要的(添加存储路径/ app / public *)?答案 0 :(得分:0)
只需检查哪个确切的.gitignore以及哪些确切的规则忽略了公开:
cd /path/to/my/repo
# from the root folder of the repo:
git check-ignore -v /storage/app/public/aFileWithinPublic
您需要测试文件,因为Git不会跟踪文件夹。
规则很简单:
<强> It is not possible to re-include a file if a parent directory of that file is excluded. 强>
因此,如果忽略文件夹public(通过父.gitignore中的'*'规则),如果忽略了public的任何父文件夹,则任何排除量都不能使公共内容不被忽略。
所以这很好(来自.gitignore
,storage/app/
文件夹的父public/
:
*
!public/
但如果自己忽略storage/app/
或storage/
,则也会忽略此排除。
这就是git check-ignore -v /storage/app/public/aFileWithinPublic
很重要的原因:它将解释导致仍然的文件夹内容被忽略的原因。