Tytuł mówi wszystko. Próbuję dodać moje pakiety NuGet do repozytorium. Wykrywane jest wszystko oprócz plików dll.
Plik gitignore nie zawiera żadnych odniesień do * .dll. Pliki .dll nie są rozpoznawane, gdy znajdują się w dowolnym miejscu w całym repozytorium. informacja / wykluczenie również jest pusta.
Sklonowałem również repozytorium (system plików do systemu plików w przeciwieństwie do zdalnego do systemu plików) bez powodzenia. Ten problem występuje również na dwóch różnych komputerach.
Mógłbym ręcznie dodać pliki .dll, ale powinny być śledzone. Dlaczego nie są śledzeni?
git config --get core.excludesfile
mówi?Odpowiedzi:
Czy masz jeden
~/.gitignore_global
lub~/.gitignore
w swoim katalogu domowym, który może również zawierać listę tych wzorców plików?Zobacz https://help.github.com/articles/ignoring-files
źródło
git check-ignore
aby dowiedzieć się, gdzie jest plik. Fond it at ~ / Documents / gitignore_global.txtJeśli używasz SourceTree i ustawienia domyślnego, domyślnie ignorujesz wszystkie biblioteki DLL ... Narzędzia => Opcje => Git, a następnie „Edytuj plik” ... dodaj znak „#” przed .dll => „# .dll” .. . Zapisz i zamknij.
Następnie w Eksploratorze Windows w folderze pakietów otwórz terminal GitBash i wpisz „git add”. i pozwól mu działać, z powrotem do SourceTree poczekaj sekundę, a wszystkie brakujące biblioteki DLL pakietów pojawią się, abyś mógł zatwierdzić i wypchnąć.
źródło
Nie, nie należy ich śledzić, chyba że je dodałeś. Śledzone są tylko pliki, które zostały już dodane i zatwierdzone; to właśnie oznacza „śledzony”.
Spróbuj ręcznie dodać jeden z nich za pośrednictwem,
git add
a powie Ci, dlaczego je ignoruje, i mimo to poprosi Cięgit add -f
o dodanie pliku.źródło
Musisz wyraźnie powiedzieć gitowi, aby śledził nowe pliki.
Uruchom,
git add filename
aby dodać plik do indeksu gita.Uruchom,
git commit
aby zatwierdzić zmiany w swoim indeksie.git status
Powinien także pokazać listę nieśledzonych plików i katalogów.Jeśli chcesz wyświetlić wszystkie pliki w repozytorium, które są ignorowane przez gitignore, możesz uruchomić:
Jeśli chcesz wyświetlić wszystkie nieśledzone pliki w repozytorium:
źródło
Miałem podobny problem. Nie mogę dodać pliku .dll z katalogu pakietu do mojego gita, a następnie znalazłem plik gitignore_global.txt, ponieważ sourcetree automatycznie dodało ten plik jako globalne ustawienie ignorowania git. Usunąłem * .dll z pliku gitignore_global.txt i działa dobrze.
Lokalizacja pliku gitignore_global.txt jak poniżej
C: \ Users \ XXXX \ Documents \ gitignore_global.txt lub możesz to znaleźć w sourcetree TOOL => OPTION => zakładka GIT i znajdź globalną listę ignorowanych
źródło
W moim przypadku nie było odwołań do .dll w pliku .gitignore i nie miałem pliku globalnego. Jednak w podkatalogu .git znalazłem plik o nazwie ms-persist.xml. Zamknąłem wszystkie wystąpienia programu Visual Studio, a następnie ręcznie dodałem brakujące pliki dll do tego pliku. Kiedy ponownie otworzyłem Visual Studio, pliki .dll były wyświetlane jako wymagające zarejestrowania. Sprawdziłem je i teraz jestem złoty ...
źródło
Masz
.gitignore
gdzieś globalne lub dalsze.gitignore
pliki w podkatalogach - względem katalogu głównego projektu.W systemach Linux i MacOS globalna git-ignore jest najprawdopodobniej w Twoim domu
~/
~/.gitignore_global
W systemie Windows prawdopodobnie znajduje się on w katalogu użytkownika. Albo twój lokalny użytkownik (którego możesz się dowiedzieć, wpisując
ECHO %USERPROFILE%
lubwhoami
w wierszu poleceń.Jeśli go tam nie ma, to z pewnością
.gitconfig
jest zamiast tego. Poszukaj w tym miejscu lokalizacji gitignore (np.Documents
Folderu użytkownika ).Edycja : użyj,
git config --list --show-origin
aby uzyskać szczegółowe informacje na temat wpływających ustawień git i odpowiadających im lokalizacji plików.źródło
Wiem, że to pytanie jest bardzo stare, ale dodam dla innych, którzy mogą je odwiedzić w przyszłości. Możesz zmodyfikować swój globalny plik ignorowania zgodnie z powyższymi odpowiedziami, ale wpłynie to na WSZYSTKIE twoje repozytoria git. Jeśli zamiast tego wolisz bardziej szczegółowe podejście, możesz po prostu wykluczyć określone biblioteki DLL lub określone foldery w swoim indywidualnym projekcie .gitignores. Zastępuje to wszystkie ustawienia ignorowania i wymusza wykrywanie i obsługę plików przez git. Myślę, że to lepsze podejście.
.gitignore (dla twojego konkretnego projektu)
źródło