/ / gitignore zawierają określoną ścieżkę - gitignore

gitignore zawierają określoną ścieżkę - gitignore

W moim .gitignore mam linię:

/storage/*.key

Ale nie chcę ignorować tej konkretnej ścieżki i całej jej zawartości:

/storage/app/public/*

Teraz wewnątrz tej ścieżki znajduje się inny plik .gitinore i ma on:

*
!.gitignore

I na tej samej ścieżce jest inny .gitignore z:

*
!public/
!.gitignore

Pomyślałem, że będzie to dodanie ścieżki, ale nie działa.

Co to jest? Jak mogę zrobić to, co chcę (dodać ścieżkę magazynu / app / public *)?

Odpowiedzi:

0 dla odpowiedzi № 1

Po prostu sprawdź, które dokładnie .gitignore i która reguła ignoruje publiczne:

cd /path/to/my/repo
# from the root folder of the repo:
git check-ignore -v /storage/app/public/aFileWithinPublic

Musisz przetestować plik, ponieważ Git nie śledzi folderu.

Zasada jest prosta:

Ponowne dołączenie pliku nie jest możliwe, jeśli wykluczony jest katalog nadrzędny tego pliku.

Jeśli więc folder publiczny jest ignorowany (przez regułę „*” w rodzicu .gitignore), jeśli którykolwiek z folderów nadrzędnych publicznych jest ignorowany, żadna ilość wykluczenia nie będzie w stanie uczynić zawartości publicznej nie ignorowaną.

Więc to jest dobre (od .gitignore w storage/app/, rodzic public/ teczka):

*
!public/

Ale jeśli storage/app/ lub storage/ są ignorowane, to wykluczenie również zostanie zignorowane.

Dlatego git check-ignore -v /storage/app/public/aFileWithinPublic jest ważne: wyjaśni, co powoduje zawartość folderu nadal być zignorowanym.