Ponieważ Git nie zna folderów, tylko pliki, puste struktury folderów nie trafiają do repozytorium. Ponieważ wiele frameworków i projektów absolutnie ich potrzebuje, powinny one tam trafić. Powszechną praktyką jest tworzenie tak zwanych plików zastępczych (często nazywanych .gitkeep), które pośrednio określają strukturę folderów. Możesz łatwo utworzyć te pliki i, jeśli to konieczne, upewnić się, że inne pliki w folderach zostaną zignorowane.
Najpierw tworzymy repozytorium testowe i tworzymy podfoldery:
434e6616f335599d241482f169f68f1b
Mamy teraz następującą strukturę folderów:
434e6616f335599d241482f169f68f1b
Zgodnie z oczekiwaniami, status git -u nie pokazuje nam żadnych zmian:

Będziemy teraz używać funkcji find do tworzenia plików zastępczych we wszystkich wymaganych lokalizacjach:
434e6616f335599d241482f169f68f1b
Otrzymaliśmy teraz następującą strukturę folderów / plików:
434e6616f335599d241482f169f68f1b
Stan git -u pokazuje nam teraz, że wszystkie foldery (niejawnie) trafiają do repozytorium:

Jeśli teraz chcemy mieć pewność, że struktura folderów zawsze trafia do repozytorium, ale nie ma żadnych plików (poza plikami zastępczymi), tworzymy gitignore:
434e6616f335599d241482f169f68f1b
Korzystamy z Składnia podwójnej gwiazdy:
434e6616f335599d241482f169f68f1b
Pierwsza linia rekurencyjnie ignoruje wszystkie pliki i foldery (na dowolnym poziomie) w folderze „foo”, druga linia rekurencyjnie wyklucza wszystkie foldery (na dowolnym poziomie) z tej reguły, a trzecia linia wyklucza wszystkie pliki .gitkeep (na dowolnym poziomie) .
Teraz stwórzmy kilka plików testowych:
434e6616f335599d241482f169f68f1b
Status git -u pokazuje nam teraz pożądany wynik:
