Reguły .ffignore
Reguły .ffignore mówią FlyingFiles, których plików i katalogów nie kopiować, nie przenosić i nie pokazywać w wynikach wyszukiwania. Typowy przykład: wysłanie projektu na serwer bez node_modules/, .git/ i plików *.log.
Składnia jest taka sama jak w pliku .gitignore znanym z Gita.
Gdzie leżą reguły
Reguły należą do konkretnego katalogu i leżą w jego podkatalogu .flyingfiles/:
Projekt/
.flyingfiles/
.ffignore.txt wzorce, jeden w wierszu
.ffconfig.txt ustawienie: czy reguły są domyślnie włączone
src/
node_modules/
.ffconfig.txt zawiera JSON, np. { "ffignore_default": true }. Wartość true oznacza, że reguły są włączone domyślnie.
Uwaga: Przy kopiowaniu i przenoszeniu program czyta reguły z katalogu, w którym leżą zaznaczone elementy, a po stronie celu — z katalogu docelowego i z kopiowanych katalogów, jeśli już istnieją w celu. Przy wyszukiwaniu — z katalogu, w którym szukasz. Reguły z katalogów wyżej w drzewie nie są dziedziczone, a reguły zaznaczonego katalogu nie działają, gdy kopiujesz go z katalogu nadrzędnego.
Tworzenie reguł
W aktywnym panelu otwórz katalog, np. katalog projektu.
Zaznacz pliki i katalogi, które mają być pomijane (np.
node_modules,build). Możesz niczego nie zaznaczać.Wybierz Funkcje → Dodaj plik .ffignore.
Program utworzy .flyingfiles/.ffignore.txt (z pierwszą regułą .flyingfiles, żeby sam katalog reguł nie był kopiowany) i .ffconfig.txt z regułami włączonymi domyślnie. Zaznaczone elementy dopisze jako wzorce: katalog jako nazwa/, plik jako nazwa. W tytule okna pojawią się ścieżki obu plików, a kursor stanie na katalogu .flyingfiles.
Plik .ffignore.txt możesz potem edytować F4 jak każdy plik tekstowy. Reguły dopiszesz też z okna Wyszukaj zmiany.
Gdzie działają
| Operacja | Jak |
|---|---|
| Kopiowanie F5 | okno Kopiuj ma pole Uwzględnij reguły z .ffignore, gdy katalog źródłowy albo docelowy ma reguły; stan początkowy z .ffconfig.txt |
| Przenoszenie F6 | reguły są stosowane automatycznie, gdy .ffconfig.txt ma je włączone |
| Wyszukaj… | pole Uwzględnij plik .ffignore |
| Wyszukaj zmiany… | pole Uwzględnij plik .ffignore i przyciski dopisujące reguły |
Reguły działają w obie strony:
reguły katalogu źródłowego pomijają pasujące elementy przy kopiowaniu;
reguły katalogu docelowego chronią pasujące miejsca w celu — element, który trafiłby w chronioną ścieżkę, jest pomijany.
Jeśli reguły odfiltrują wszystko, program napisze: „Nic nie zostało skopiowane. Sprawdź, czy reguły w .ffignore.txt nie zablokowały transferu.”
Składnia
| Wzorzec | Co pomija |
|---|---|
node_modules/ | każdy element node_modules na dowolnej głębokości, z całą zawartością |
*.log | pliki .log w każdym katalogu |
build | plik albo katalog build na dowolnej głębokości |
/dist/ | tylko element dist leżący bezpośrednio w katalogu z regułami |
docs/drafts | ścieżka liczona od katalogu z regułami (ukośnik w środku zakotwicza wzorzec) |
cache/* | zawartość katalogu cache leżącego bezpośrednio w katalogu z regułami, bez samego katalogu |
**/tmp/** | katalog tmp na dowolnej głębokości razem z zawartością |
? / [abc] | jeden dowolny znak / jeden ze znaków |
!ważne.log | wyjątek: nie pomijaj ważne.log, choć pasuje do wcześniejszego wzorca |
# komentarz | wiersz bez znaczenia |
Decyduje ostatni pasujący wzorzec.
Inaczej niż w Gicie ukośnik na końcu wzorca (
build/) nie ogranicza go do katalogów — obejmie też plik o tej nazwie.Wielkość liter ma znaczenie na każdym systemie (
*.JPGnie obejmujezdjecie.jpg).Puste wiersze nic nie robią; spacje na końcu wiersza są obcinane;
\wyłącza specjalne znaczenie znaku (\#plik).
Przykład
.flyingfiles/.ffignore.txt projektu strony internetowej:
.flyingfiles
.git/
node_modules/
*.log
.DS_Store
/config/local.php
Wejdź do katalogu projektu, zaznacz wszystko (+) i naciśnij F5 z zaznaczonym Uwzględnij reguły z .ffignore: zawartość projektu trafi na serwer bez repozytorium, zależności, dzienników, plików Findera i lokalnej konfiguracji — a Wyszukaj zmiany pokaże tylko pliki, które naprawdę trzeba wysłać.
FlyingFiles 1.0.0 · Funkcje po 1.0.0 są oznaczone w treści.