Czy uważasz, że dobrą praktyką jest zlecenie .gitignore repozytorium Git?
Niektórym się to nie podoba, ale myślę, że to dobrze, ponieważ możesz śledzić historię pliku. Czyż nie
Czy uważasz, że dobrą praktyką jest zlecenie .gitignore repozytorium Git?
Niektórym się to nie podoba, ale myślę, że to dobrze, ponieważ możesz śledzić historię pliku. 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 tworzysz LOG
lub coś takiego. W takich przypadkach prawdopodobnie nie chcesz narzucać tego nikomu.
$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ę. (nie git 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ąc core.excludesfile
opcję. Na przykład:
git config --global core.excludesfile ~/.gitignore
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.
# 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ę.
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.
Dobrą praktyką jest .gitignore
przynajmniej tworzenie produktów (programy, * .o itp.).
.gitignore
samo powinno być „ .gitignore
d”?