2017-01-03 163 views
1

我在Laravel 5.3中遇到gitignore問題。如何不在Laravel存儲/ app/mydir/myfile.json中忽略

我有以下gitignore文件。我用!來排除myfile.json。

node_modules/ 
public/storage 
storage/*.key 
/.idea 
Homestead.json 
Homestead.yaml 
.env 
SQL/ 
*.sql 
mynotes.md 
!storage/app/mydir/myfile.json 

當我運行git status --ignored我得到這個輸出。

Ignored files: 
    (use "git add -f <file>..." to include in what will be committed) 

    ../.env 
    ../SQL/ 
    ../app/.DS_Store 
    ../bootstrap/cache/config.php 
    ../bootstrap/cache/services.php 
    ../mynotes.md 
    ../node_modules/ 
    uploads/.DS_Store 
    ../storage/app/.DS_Store 
    ../storage/app/mydir/ 
... 
... 

因此myfile.json被忽略。我如何編寫gitignore以便我可以添加/提交文件?

回答

0

與gitignore需要記住的規則:

It is not possible to re-include a file if a parent directory of that file is excluded

因此,檢查其.gitignore規則確實會/storage/app/忽略../storage/app/mydir/,因爲如果它是位於.gitignore(例如)直接,這將具有優先權。

git check-ignore -v -- ../storage/app/mydir/myfile.json 

../意味着當前的.gitignore是不是在正確的地方:一個!storage/app/mydir/xxx規則來應用,它應該是一個.gitignore文件一個文件夾了。

+0

其實這是一個水平下來,我發現'混帳籤忽略-v另一個gitignore - 存儲/程序/ MYDIR/myfile.json 存儲/應用/的.gitignore:1:* \t存儲/程序/ MYDIR/myfile.json'。所以我在storage/app/dir中找到了另一個gitignore。我可以在這裏添加!storage/app/mydir/myfile.json? – shin

+0

是的,那將是添加該規則的正確位置。 – VonC

+0

謝謝。順便說一句,當我修改gitignore和'git status'時,myfile.json不會出現。我需要先添加/提交此gitignore才能生效嗎? – shin