Mam repozytorium git, które ignoruje pliki obrazów, a także kilka innych plików, ale mój .gitignore
plik ma tylko ignorowanie config.php
pliku. Czy jest gdzieś jakiś globalny plik ignorowania, którego nie mogę znaleźć? Muszę określić pliki, aby je teraz dodać, i to daje mi to ostrzeżenie:
Poniższe ścieżki są ignorowane przez jeden z plików .gitignore.
Zawartość mojego ~/.gitconfig
pliku to tylko mój adres e-mail.
Odpowiedzi:
git check-ignore
Użyj
git check-ignore
polecenia, aby debugować plik gitignore (wyklucz pliki).Na przykład:
Powyższe dane wyjściowe zawierają szczegółowe informacje o pasującym wzorcu (jeśli istnieje) dla każdej podanej ścieżki (w tym linii).
Więc może rozszerzenie pliku nie jest ignorowane, ale cały katalog.
Zwrócony format to:
Lub użyj następującego polecenia, aby wydrukować swój
.gitignore
katalog domowy użytkownika i folder repozytorium:Alternatywnie użyj,
git add -f
która pozwala na dodanie ignorowanych plików.Patrz
man gitignore
,man git-check-ignore
na więcej szczegółów.Składnia
źródło
Warto wiedzieć, że konfiguracja git może zawierać plik core.excludesfile, który jest ścieżką do pliku z dodatkowymi wzorcami, które są ignorowane. Możesz dowiedzieć się, czy masz taką konfigurację, uruchamiając (w problematycznym repozytorium git):
Jeśli drukuje ścieżkę do pliku, spójrz na zawartość tego pliku, aby uzyskać dalsze informacje.
W moim przypadku zainstalowałem git za pomocą starej wersji boxena, która ignorowała wzorzec „Ikona?” że w moim przypadku dało mi ostrzeżenie, o którym mowa w tym pytaniu, dotyczące ikon folderów (jestem na systemie plików niewrażliwym na wielkość liter, dlatego Icon? dopasowuje ikony).
źródło
Icon?
ignorowanie.Sprawdź te:
Czy szukałeś innych plików .gitignore, ponieważ może być ich wiele.
Spójrz także na REPO / .git / config, aby zobaczyć, czy coś tam jest.
Wykluczenie repozytorium Lokalne reguły dotyczące repozytorium można dodać do pliku .git / info / exclude w repozytorium. Te reguły nie są zatwierdzone w repozytorium, więc nie są udostępniane innym. Tej metody można używać w przypadku plików generowanych lokalnie, których nie oczekujesz od innych użytkowników, takich jak pliki utworzone przez Twój edytor.
źródło
Miałem ten sam problem - katalog był ignorowany przez git z tym błędem:
W końcu doszedłem do wniosku, że moim problemem jest linia w moim
~/.gitignore_global
:który pasował do ścieżki
app/views/admin/tags
. Naprawiłem to, dodając wiodący ukośnik do globalnego pliku gitignorei git ponownie zaczął śledzić mój katalog.
źródło
help
katalog, który był ignorowany. Na szczęście dość szybko znalazłem odpowiedź.U mnie przypadkowo miałem symbol wieloznaczny w moim pliku ~ / .gitignore_global. Może sprawdź tam?
źródło
Kolejna rzecz do wypróbowania: miałem katalog B z własnym
.git
repozytorium zagnieżdżonym w katalogu projektu A (ale nie jako moduł podrzędny). Wprowadziłem kilka zmian w B i chciałem zrobić z niego prawdziwy podmoduł. Uważam, że git A automatycznie ignorował B, ponieważ zawierał własne repozytorium (zobacz Zagnieżdżone repozytoria git bez modułów podrzędnych? ). Zmieniłem nazwę folderu B i ponownie próbowałem sklonować go jako moduł podrzędny, co przyniosło mi mylący komunikat o błędzie „ignorowane przez .gitignore”. Rozwiązaniem było usunięcie.git
z B.źródło
Miałem dokładnie ten sam problem co ty. Jedyna odpowiedź, jaką otrzymałeś, zawierała kilka miejsc do sprawdzenia, ale żadne z nich nie rozwiązało problemu za mnie, az twojego komentarza też nie myślę za ciebie. Nie miałem INNYCH plików .gitignore ukrytych niżej w drzewie katalogów; nic w .git / config; nic w .git / ingore / exclude
Jeśli nadal masz problem, sprawdź tę odpowiedź . To rozwiązało problem za mnie
Zasadniczo poszukaj pliku ~ / .gitignore. Mój nazywał się ~ / .gitignore_global. Nie wiem, kiedy to został stworzony ( ja na pewno się nie udało), ale próbowałem mnóstwo różnej konfiguracji git właśnie wtedy po raz pierwszy zainstalowany, więc jeden z nich musi umieścić go tam.
Mam nadzieję, że jego odpowiedź również ci pomoże!
źródło
Innym powodem otrzymania tego komunikatu o błędzie od git jest wykonanie
git submodule add
polecenia, gdy poprzednie polecenie git uległo awarii i opuściło plik blokady (może się to zdarzyć na przykład, gdy używasz niestandardowych skryptów, które zawierają polecenia git i nie zauważyłeś wypadek).Jeśli
git commit
zamiast tego wykonasz polecenie , gdy żaden z warunków się nie zmieni (git submodule add
będzie nadal krzyczeć, że Twoje.gitignore
pliki są winne), zamiast tego zobaczysz inny raport o błędzie:i rzeczywiście usuwając plik blokujący:
rozwiązuje problem. (Dzieje się tak w przypadku gita w wersji 2.1.0.9736. Może to zostać naprawione w przyszłych wydaniach git).
źródło
Sprawdź, czy masz uprawnienia do folderu. Właśnie na to wpadłem i to dlatego, że folder był własnością użytkownika danych www, a nie użytkownika, do którego byłem zalogowany na terminalu.
źródło
W moim przypadku problem spowodował przesunięcie w przód na mojej ścieżce ...
Nie działa
Praca
źródło
Jeszcze jedno: jeśli katalog, w którym się znajdujesz, wymaga uprawnień roota do pisania lub wykonywania, upewnij się, że jesteś na koncie użytkownika root. W rzeczywistości pojawił się dziwny błąd, w którym próbowałem dodać podmoduł, a git narzekał, że ścieżka, do której klonowałem, była ignorowana przez plik git ignore. Potem zmieniłem się na użytkownika root, ponownie uruchomiłem submoduł add i nie było problemu.
źródło
Należy również sprawdzić,
~/.gitignore
a~/.gitignore_global
które mogą być tworzone przez niektórych klientów Git (np Atlassian SourceTree na Mac OS X).źródło
Upewnij się, że
.gitignore
plik sam się nie ignoruje. Częstym błędem jest dodawanie*
do.gitignore
pliku reguły ignorującej każdy plik w bieżącym folderze. Rozwiązaniem tego problemu jest dodanie wyjątku do.gitignore
:W ten sposób wszystkie pliki w katalogu zostaną zignorowane, z wyjątkiem
.gitignore
.źródło