2017-01-03 1 views
1

J'ai un problème avec gitignore dans Laravel 5.3.Comment ne pas ignorer dans Laravel stockage/app/mydir/myfile.json

J'ai le fichier gitignore suivant. J'ai utilisé ! pour exclure myfile.json.

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

Lorsque j'exécute git status --ignored, j'obtiens ces sorties.

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/ 
... 
... 

Ainsi, myfile.json est ignoré. Comment puis-je écrire un gitignore pour pouvoir ajouter/valider un fichier?

Répondre

0

La règle à retenir avec gitignore:

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

Vérifiez donc quelle règle .gitignore ne fait ignorer ../storage/app/mydir/, parce que si elle est un .gitignore situé (par exemple) directement dans /storage/app/, il aura la priorité.

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

../ signifie que votre courant .gitignore n'est pas au bon endroit: une règle !storage/app/mydir/xxx à appliquer, il devrait être dans un fichier .gitignore un dossier vers le haut.

+0

En fait, il était un niveau plus bas que je trouve une autre gitignore par 'git check--v ignorer - stockage/app/mydir/myfile.json stockage/app/.gitignore: 1: * \t stockage/app/mydir/myfile.json'. J'ai donc trouvé un autre gitignore dans storage/app/dir. Puis-je ajouter ici storage/app/mydir/myfile.json? – shin

+0

Oui, ce serait le bon endroit pour ajouter cette règle. – VonC

+0

Merci. BTW quand je modifie le gitignore et 'git status', le myfile.json n'apparaît pas. Dois-je d'abord ajouter/commettre ce gitignore pour prendre effet? – shin