Git i puste foldery

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:

Git i puste foldery

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:

Git i puste foldery

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:

Git i puste foldery

Plecy