Chcę skonfigurować Git do globalnego ignorowania niektórych plików.
Dodałem .gitignore
plik do mojego katalogu domowego ( /Users/me/
) i dodałem do niego następujący wiersz:
*.tmproj
Ale to nie ignoruje tego typu plików. Masz pojęcie, co robię źle?
.git/info/exclude
w repozytorium, więc niekoniecznie musi to być plik globalny. Ponadto domyślnym i automatycznym globalnym plikiem gitignore jest$HOME/.config/git/ignore
.Odpowiedzi:
Musisz
core.excludesfile
skonfigurować globalny plik konfiguracyjny, aby wskazywał ten globalny plik ignorowania.na przykład
* nix lub Windows git bash:
Windows cmd:
Windows PowerShell:
W systemie Windows ustawiono lokalizację
C:\Users\{myusername}\.gitignore
. Możesz sprawdzić, czy wartość konfiguracji jest poprawna, wykonując:Wynikiem powinna być rozszerzona ścieżka do profilu użytkownika
.gitignore
. Upewnij się, że wartość nie zawiera nierozwiniętego%USERPROFILE%
ciągu.Ważne : powyższe polecenia ustawią tylko lokalizację pliku zignorowania, którego użyje git. Plik musi być nadal ręcznie utworzony w tej lokalizacji i wypełniony listą ignorowanych. (z komentarza muruge )
Możesz przeczytać o poleceniu na https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
źródło
HEAD
lub w indeksie, nie powinno mieć znaczenia, czy plik był kiedyś śledzony, czy nie. Może to być pomocne, jeśli dodać wyjściegit status
,git config core.excludesfile
do Twojego pytania.#
na początku wierszy w środku,~/.gitignore
aby dodać komentarze w pliku globalnego ignorowania?%USERPROFILE%
zmiennej. Musiałem wprowadzić pełną ścieżkę do pliku przy użyciu separatorów katalogu * nix. np. core.excludesfile C: /Users/User/.gitignorePrzed rekonfiguracją globalnego pliku wykluczeń możesz sprawdzić, do czego jest on aktualnie skonfigurowany, używając tego polecenia:
W moim przypadku, kiedy go uruchomiłem, zobaczyłem, że mój plik wykluczeń globalnych został skonfigurowany do
i było tam już kilka rzeczy wymienionych. Dlatego w przypadku zadanego pytania warto najpierw sprawdzić istniejący plik wykluczeń i dodać do niego nową maskę pliku.źródło
Chociaż inne odpowiedzi są poprawne, ustawiają globalną wartość konfiguracji, podczas gdy istnieje domyślna lokalizacja git dla globalnego pliku ignorowania git:
*nic:
Windows:
Może być konieczne utworzenie
git
katalogu iignore
pliku, ale następnie możesz umieścić globalne ignorowanie w tym pliku i to wszystko!Źródło
…
źródło
git
poleceń. Ponieważ jest to plik ustawień w katalogu każdego użytkownika, nie sądzę, że należy go kiedykolwiek zastąpić.~/.config/git/ignore
.Aby utworzyć globalny gitignore od podstaw:
C:/Users/User
.gitignore_global
rozszerzeniemźródło
Od tutaj .
Jeśli utworzysz plik w swoim repozytorium o nazwie .gitignore, git użyje swoich reguł podczas sprawdzania plików do zatwierdzenia. Zauważ, że git nie zignoruje pliku, który był już śledzony przed dodaniem reguły do tego pliku, aby go zignorować. W takim przypadku plik musi być nieśledzony, zwykle z:
Czy to twoja sprawa?
źródło
core.excludesfile
plik wydaje się interpretowany inaczej niż.gitignore
plik. Jeśli chcesz zignorować cały katalog, po prostu wpisz nazwę katalogu jak.vscode/
zamiast.vscode/*
Jeśli korzystasz z systemu Unix, możesz rozwiązać problem za pomocą dwóch poleceń. Gdzie pierwsza inicjalizacja konfiguracji, a druga zmiana pliku z plikiem do zignorowania.
źródło
Przykład
Voila !!
źródło
Pamiętaj, że uruchomienie polecenia
po prostu skonfiguruje plik globalny, ale NIE utworzy go. W systemie Windows sprawdź
.gitconfig
plik Users w katalogu i edytuj go zgodnie z własnymi preferencjami. W moim przypadku jest tak:źródło
Jestem w stanie zignorować
.tmproj
plik, dołączając jeden.tmproj
lub jeden*.tmproj
z moich/users/me/.gitignore-global
plików.Pamiętaj, że nazwa pliku
.gitignore-global
nie jest.gitignore
. Nie działało przez włączenie.tmproj
lub*.tmproj
w pliku o nazwie.gitignore
w/users/me
katalogu.źródło
core.excludesfile
konfiguracji..tmproj
plik nie jest uzyskiwanie ignorowane może być fakt, że użytkownikaexcludesfile
nie być.gitignore
.W tym celu należy utworzyć plik wykluczenia. Sprawdź tę istotę, która jest dość oczywista.
Aby rozwiązać swoje pytanie chociaż, być może trzeba albo de-indeksowania
.tmproj
plik (jeśli już dodana do indeksu) zgit rm --cached path/to/.tmproj
lubgit add
icommit
swój.gitignore
plik.źródło
git rm --cached
?na podsystem Windows dla Linuksa musiałem przejść do korzenia podsystemu przez
cd ~/
następnietouch .gitignore
a następnie zaktualizować konfigurację globalną gitignore tam.Mam nadzieję, że to komuś pomoże.
źródło
Jeśli używasz VSCODE, możesz uzyskać to rozszerzenie do obsługi zadania za Ciebie. Obserwuje Twój obszar roboczy za każdym razem, gdy zapisujesz swoją pracę, i pomaga automatycznie ignorować pliki i foldery określone w ustawieniach vscode. Ignoreit .sonson (rozszerzenie vscode)
źródło