Zwykle tak, .gitignoreprzydaje się wszystkim, którzy chcą pracować z repozytorium. Czasami będziesz chciał zignorować bardziej prywatne rzeczy (być może często tworzysz LOGlub coś takiego. W takich przypadkach prawdopodobnie nie chcesz narzucać tego nikomu.
+1 „Prywatne rzeczy” mogą być wymienione odpowiednio w plikach $GIT_DIR/info/excludelub ~/.gitconfig.
WReach,
5
Jeśli plik jest już zalogowany i chcesz go zignorować, Git nie zignoruje pliku, jeśli dodasz regułę później. W takich przypadkach musisz najpierw wyśledzić plik, uruchamiając w swoim terminalu następującą komendę:git rm --cached FILENAME
eli-bd
133
Zwykle zrobić popełnić .gitignore. W rzeczywistości osobiście posuwam się do tego, aby upewnić się, że mój indeks jest zawsze czysty, gdy nad czymś nie pracuję. (nie git statuspowinien nic pokazywać).
Są przypadki, w których chcesz zignorować rzeczy, które tak naprawdę nie są specyficzne dla projektu. Na przykład twój edytor tekstowy może tworzyć automatyczne *~kopie zapasowe plików, lub innym przykładem mogą być .DS_Storepliki tworzone przez OS X.
Powiedziałbym, że jeśli inni narzekają na te zasady zaśmiecające twoje zasady .gitignore, pomiń je i umieść w globalnym pliku wykluczeń.
Domyślnie ten plik znajduje się w $XDG_CONFIG_HOME/git/ignore(domyślnie ~/.config/git/ignore), ale tę lokalizację można zmienić, ustawiając core.excludesfileopcję. Na przykład:
Po prostu stwórz i edytuj globalny plik wykluczeń do treści twojego serca; będzie miało zastosowanie do każdego repozytorium git, na którym pracujesz na tym komputerze.
Zawsze możesz dodać # some commentwiersze do .gitignorepliku, aby wyjaśnić, dlaczego coś ignorujesz. Komentując każdy wiersz jest trochę przesady, ale muszę mieć sekcje oznaczone # IDE (Eclipse), # OS (Mac OS X)oraz # Generated (Perl). W ten sposób, jeśli ktoś chce użyć innego systemu operacyjnego lub IDE, może dodać sekcję i wszyscy możemy się dzielić.
Stuart R. Jefferys
9
kciuki za „Ja osobiście iść tak daleko, jak upewniając mój indeks jest zawsze czyste, kiedy nie pracuję nad czymś (git status powinien pokazać niczego.).”
SGhosh
4
Uwaga z nowoczesnym Git domyślną wartością core.excludesfilejest ~/.config/git/ignore, zgodny ze specyfikacją katalogu podstawowego XDG
Jakub Narębski
1
+1 dla globalnych .gitignore- niezwykle korzystne, gdy ludzie, z którymi współpracujesz, nie zgadzają się co do zawartości wypychanych .gitignoreplików lub tego, czy powinny być wypychane, a my wszyscy używamy ton różnych środowisk deweloperskich, które generują różne rodzaje hałasu.
Umieszczam zatwierdzenie .gitignore, które jest uprzejmością dla innych, którzy mogą zbudować mój projekt, że następujące pliki są uzyskiwane i należy je zignorować.
Zazwyczaj robię hybrydę. Chciałbym, aby makefile wygenerował plik .gitignore, ponieważ makefile będzie znał wszystkie pliki powiązane z projektem - lub inne. Następnie miej do sprawdzenia projekt najwyższego poziomu .gitignore, który zignoruje wygenerowane pliki .gitignore utworzone przez plik makefile dla różnych podkatalogów.
W moim projekcie mógłbym mieć podkatalog bin z wszystkimi wbudowanymi plikami wykonywalnymi. Następnie sprawię, że mój plik makefile wygeneruje plik .gitignore dla tego katalogu bin. I w górnym katalogu .gitignore, który zawiera bin / .gitignore. Najwyższy to ten, w którym się melduję.
Zatwierdzenie .gitignore może być bardzo przydatne, ale chcesz mieć pewność, że nie będziesz go zbyt długo modyfikować, szczególnie jeśli regularnie przełączasz się między gałęziami. Jeśli to zrobisz, możesz dostać przypadki, w których pliki są ignorowane w gałęzi, a nie w drugiej, zmuszając cię do ręcznego usunięcia lub zmiany nazwy plików w katalogu roboczym, ponieważ pobranie nie powiodło się, ponieważ spowoduje to zastąpienie pliku nieśledzonego.
Dlatego tak, dokonaj zatwierdzenia swojego .gitignore, ale nie wcześniej, niż masz wystarczającą pewność, że nie zmieni się on tak bardzo później.
To nie odpowiedziało na pytanie: czy .gitignoresamo powinno być „ .gitignored”?
Charles Wood
6
Należy zwrócić uwagę, że nie było pytanie, a to robi odpowiedź co pytano: „Jest [ona] praktyka dobry popełnić .gitignore w repo Git?”.
papercowboy
5
@ cayuu wierzę, że odpowiedź brzmi: „dobrą praktyką jest .gitignore” xyz, nie widzę, jak odpowiada na pytanie. pytanie brzmi, czy .gitignore powinien być kontrolowany pod kątem wersji, czy nie.
Odpowiedzi:
Zwykle tak,
.gitignore
przydaje się wszystkim, którzy chcą pracować z repozytorium. Czasami będziesz chciał zignorować bardziej prywatne rzeczy (być może często tworzyszLOG
lub coś takiego. W takich przypadkach prawdopodobnie nie chcesz narzucać tego nikomu.źródło
$GIT_DIR/info/exclude
lub~/.gitconfig
.git rm --cached FILENAME
Zwykle zrobić popełnić
.gitignore
. W rzeczywistości osobiście posuwam się do tego, aby upewnić się, że mój indeks jest zawsze czysty, gdy nad czymś nie pracuję. (niegit status
powinien nic pokazywać).Są przypadki, w których chcesz zignorować rzeczy, które tak naprawdę nie są specyficzne dla projektu. Na przykład twój edytor tekstowy może tworzyć automatyczne
*~
kopie zapasowe plików, lub innym przykładem mogą być.DS_Store
pliki tworzone przez OS X.Powiedziałbym, że jeśli inni narzekają na te zasady zaśmiecające twoje zasady
.gitignore
, pomiń je i umieść w globalnym pliku wykluczeń.Domyślnie ten plik znajduje się w
$XDG_CONFIG_HOME/git/ignore
(domyślnie~/.config/git/ignore
), ale tę lokalizację można zmienić, ustawiająccore.excludesfile
opcję. Na przykład:Po prostu stwórz i edytuj globalny plik wykluczeń do treści twojego serca; będzie miało zastosowanie do każdego repozytorium git, na którym pracujesz na tym komputerze.
źródło
# some comment
wiersze do.gitignore
pliku, aby wyjaśnić, dlaczego coś ignorujesz. Komentując każdy wiersz jest trochę przesady, ale muszę mieć sekcje oznaczone# IDE (Eclipse)
,# OS (Mac OS X)
oraz# Generated (Perl)
. W ten sposób, jeśli ktoś chce użyć innego systemu operacyjnego lub IDE, może dodać sekcję i wszyscy możemy się dzielić.core.excludesfile
jest~/.config/git/ignore
, zgodny ze specyfikacją katalogu podstawowego XDG.gitignore
- niezwykle korzystne, gdy ludzie, z którymi współpracujesz, nie zgadzają się co do zawartości wypychanych.gitignore
plików lub tego, czy powinny być wypychane, a my wszyscy używamy ton różnych środowisk deweloperskich, które generują różne rodzaje hałasu.Umieszczam zatwierdzenie .gitignore, które jest uprzejmością dla innych, którzy mogą zbudować mój projekt, że następujące pliki są uzyskiwane i należy je zignorować.
Zazwyczaj robię hybrydę. Chciałbym, aby makefile wygenerował plik .gitignore, ponieważ makefile będzie znał wszystkie pliki powiązane z projektem - lub inne. Następnie miej do sprawdzenia projekt najwyższego poziomu .gitignore, który zignoruje wygenerowane pliki .gitignore utworzone przez plik makefile dla różnych podkatalogów.
W moim projekcie mógłbym mieć podkatalog bin z wszystkimi wbudowanymi plikami wykonywalnymi. Następnie sprawię, że mój plik makefile wygeneruje plik .gitignore dla tego katalogu bin. I w górnym katalogu .gitignore, który zawiera bin / .gitignore. Najwyższy to ten, w którym się melduję.
źródło
Zatwierdzenie .gitignore może być bardzo przydatne, ale chcesz mieć pewność, że nie będziesz go zbyt długo modyfikować, szczególnie jeśli regularnie przełączasz się między gałęziami. Jeśli to zrobisz, możesz dostać przypadki, w których pliki są ignorowane w gałęzi, a nie w drugiej, zmuszając cię do ręcznego usunięcia lub zmiany nazwy plików w katalogu roboczym, ponieważ pobranie nie powiodło się, ponieważ spowoduje to zastąpienie pliku nieśledzonego.
Dlatego tak, dokonaj zatwierdzenia swojego .gitignore, ale nie wcześniej, niż masz wystarczającą pewność, że nie zmieni się on tak bardzo później.
źródło
Dobrą praktyką jest
.gitignore
przynajmniej tworzenie produktów (programy, * .o itp.).źródło
.gitignore
samo powinno być „.gitignore
d”?