Gdzie należy plik .gitignore?

357

Czy plik .gitignore należy gdzieś w strukturze folderów .git, czy w głównych plikach źródłowych?

mishaF
źródło
20
Możesz mieć .gitignore w każdym katalogu twojego projektu. Jednak najlepszą praktyką jest posiadanie jednego pliku .gitignore w katalogu głównym projektu i umieszczanie w nim wszystkich plików, które chcesz zignorować.
Pavan Gupta
Zrobiłem ci za przyjęcie błędnej odpowiedzi.
Aaron Hall
@AaronHall - przełączony .... od dawna nie odwiedzał tego .....
mishaF

Odpowiedzi:

428

Umieść .gitignore w katalogu roboczym . Nie działa, jeśli umieścisz go w katalogu .git (repozytorium).

$ ls -1d .git*
.git
.gitignore
jmulho
źródło
20
To jest właściwa odpowiedź. Dobrze, że rozumiesz pytanie :)
Mario SE
15
To niejednoznaczna odpowiedź IMO. Gdzie w katalogu roboczym? W korzeniu tego? Gdziekolwiek?
Carles Alcolea,
6
@CarlesAlcolea, Odpowiedź mówi, że możesz umieścić .gitignoreplik w dowolnym miejscu w katalogu roboczym, tj. W dowolnym folderze, w którym przeważa twój kod. Mimo to najlepszą praktyką byłoby umieszczenie .gitignorepliku w katalogu głównym. Oznacza to jeden .gitignoreplik dla jednego całego repo. To sprawia, że ​​zarządzanie ignorowanymi plikami jest bardziej efektywne.
Andy,
10
Potrzebuję dodatkowych wyjaśnień. Co się stanie, jeśli .gitignore zostanie umieszczony w podkatalogu? Czy po prostu reguluje podkatalog i jego gałęzie? Czy można mieć wiele plików .gitignore w różnych podkatalogach? Czy posiadanie .gitignores z różnymi regułami w podkatalogach byłoby kaskadowych w stosunku do .gitignores katalogu nadrzędnego?
Behrooz Karjoo,
72

Jak podano w innych odpowiedziach, możesz umieścić .gitignorew dowolnym katalogu w repozytorium Git. Jeśli jednak potrzebujesz prywatnej wersji .gitignore, możesz dodać reguły do .git/info/excludepliku.

Alan Haggai Alavi
źródło
4
Ponadto core.excludesfile(patrz git-config (1) ), aby określić plik, w którym przechowywane są osobiste wzorce wykluczania (ulubiony wzorzec nazewnictwa „pliku tymczasowego”, pliki kopii zapasowej / plików tymczasowych edytora itp.). W związku z tym unikaj umieszczania „osobistych wzorów” w śledzonych .gitignoreplikach.
Chris Johnsen,
2
Prywatna część tej odpowiedzi była bardzo pomocna, ponieważ mam kilka modyfikacji projektu, które nie należą do .gitignorepliku zaewidencjonowanego.
OregonGhost,
57

Możesz umieścić .gitignore w dowolnym katalogu w git.

Jest powszechnie używany jako plik zastępczy w folderach, ponieważ foldery zwykle nie są śledzone przez git.

philipk
źródło
7
dlaczego wolno ci to gdziekolwiek umieścić? Dlaczego Git się nie myli?
Charlie Parker,
3
Więc plik .gitignore może pójść w tej samej, prawda katalogu .git? (Które było oryginalne pytanie). Jakiemu celowi to służy?
Bacar
8

Jeśli chcesz to zrobić globalnie, możesz użyć domyślnej ścieżki, której szuka git. Po prostu umieść go w pliku o nazwie „ignoruj” na ścieżce~/.config/git

(pełna ścieżka do pliku to ~/.config/git/ignore:)

Liran Brimer
źródło
3

Możesz również znaleźć globalny plik .gitignore bezpośrednio na ścieżce ~, jeśli nie utworzyłeś go w swoim projekcie folderu. Ten plik jest brany pod uwagę we wszystkich twoich projektach .git.

XLE_22
źródło
0

Ponadto, jeśli utworzysz nowe konto w Github, będziesz mieć możliwość dodania .gitignore i zostanie ono skonfigurowane automatycznie we właściwej / standardowej lokalizacji twojego miejsca pracy. Na początku nie musisz nic dodawać, po prostu zmieniaj zawartość w dowolnym momencie.

Thielicious
źródło