Ignoruojant bet kokį „bit“ katalogą „git“ projekte

Turiu tokią katalogo struktūrą:

 .git/ .gitignore main/ ... tools/ ... ... 

Pagrindiniuose ir įrankiuose, taip pat bet kuriame kitame kataloge, gali būti „bin“ katalogas, kurį noriu ignoruoti (ir aš noriu ignoruoti viską po juo). Bandžiau kiekvieną iš šių šablonų .gitignore, bet nė vienas iš jų neveikia:

 bin* /.bin* .bin* **/bin* */bin* bin* binbin* 

Bet aš nenoriu turėti įrašo kiekvienam aukščiausio lygio katalogui ir nenoriu keisti .gitignore kiekvieną kartą, kai pridedu naują.

„Windows“ naudoja naujausią „msysgit“.

EDIT: dar vienas dalykas, yra failų ir katalogų, kurių pavadinimai yra „bin“, nenoriu, kad jie būtų ignoruojami :)

1049
24 сент. nustatė Ben Hymers rugsėjo 24 d 2009-09-24 12:13 '09, 12:13 2009-09-24 12:13
@ 14 atsakymų

Prieš 1.8.2 versiją, ** neturėjo specialios reikšmės .gitignore . Pradedant nuo 1.8.2, git palaiko ** kad būtų pažymėti nuliai ar daugiau pakatalogių (žr . Leidinio pastabas ).

Kaip ignoruoti visus katalogus, vadinamus bin, kažkur žemiau esamo lygio katalogo medyje yra .gitignore failas su modeliu:

 bin/ 

man puslapyje yra pavyzdys, kaip ignoruoti katalogą, pavadintą foo naudojant panašų šabloną.

Redagavimas Jei jau turite aplankus su aplankais, esančiais jūsų git indekse, kurių nebenorite stebėti, turite juos aiškiai ištrinti. „Git“ nustos stebėti kelius, kurie jau yra stebimi, tik todėl, kad jie dabar atitinka naująjį .gitignore modelį. Atlikite aplanko ( rm ) ištrynimą tik iš indekso ( -cached ) recursivelly ( -r ). Šaknų aplanko aplanko pavyzdinė komandinė eilutė:

 git rm -r --cached bin 
1569
24 сент. CB Bailey atsakymas 24 Sep. 2009-09-24 12:35 '09, 12:35 2009-09-24 12:35

.gitignore savo svajones yra toks:

 bin/ 
border=0

aukščiausiu lygiu.

425
24 сент. Atsakymą pateikė Michael Krelin - hacker 24 Sep. 2009-09-24 12:16 '09, 12:16 2009-09-24 12:16

Manau, verta paminėti git newbies:

Jei jau įdiegėte failą ir norite jį ignoruoti, „ Git“ nepaisys failo, jei vėliau pridėsite taisyklę . Tokiais atvejais pirmiausia turite sekti failą vykdydami šią komandą savo terminale:

git rm --cached

Taigi, jei norite redaguoti .gitignore, vietinėje saugykloje įtraukti kai kuriuos katalogus, į kuriuos norite ignoruoti (kuris jau yra), norite paleisti jį šakniniame kataloge

 git rm --cached -r . git add . 

Jis iš esmės „atnaujins“ vietinius repo failus ir „fuzzy“ ignoruotus failus.

Žr.

http://git-scm.com/docs/git-rm ,

https://help.github.com/articles/ignoring-files/

188
13 мая '15 в 11:54 2015-05-13 11:54 atsakymą pateikė plancys gegužės 13 d. 15 val. 11:54 2015-05-13 11:54

** niekada neveikė tinkamai, tačiau nuo tada, kai 1.8.2 (2013 m. kovo 8 d.) atrodo aiškiai paminėta ir palaikoma:

.gitignore ir .gitattributes failų pavyzdžiai gali būti **/ kaip modelis, atitinkantis 0 ar daugiau pakatalogių .

Pavyzdžiui. „ foobar “ atitinka „ bar “ „ foo “ arba „ foo “ pakatalogyje.

Jūsų atveju tai reiškia, kad ši eilutė dabar gali būti palaikoma:

 /mainbin/ 
69
23 апр. atsakymas pateikiamas VonC 23 balandžio. 2013-04-23 12:20 '13, 12:20, 2013-04-23 12:20
 [Bb]in/ 

atitinka dideles ir mažąsias

45
30 авг. atsakymas pateikiamas 30 d. 2013-08-30 08:32 '13, 8:32 2013-08-30 08:32

Aš nemačiau to paminėti čia, bet atrodo, kad tai yra ypatingas. Kai tik pasikeisiu į / Bin, failai buvo ignoruojami, kaip tikėtasi.

31
09 окт. atsakymas pateikiamas Cory 09 okt. 2009-10-09 01:00 '09, 1:00 val. 2009-10-09 01:00

[Bb]in bus išspręsta problema, bet ... Čia yra išsamesnis sąrašas dalykų, kuriuos turėtumėte ignoruoti („GitExtension“ pavyzdžių sąrašas):

 #ignore thumbnails created by windows Thumbs.db #Ignore files build by Visual Studio *.user *.aps *.pch *.vspscc *_i.c *_p.c *.ncb *.suo *.bak *.cache *.ilk *.log [Bb]in [Dd]ebug*/ *.sbr obj/ [Rr]elease*/ _ReSharper*/ 
24
03 янв. Atsakymą pateikė Jaider Jan 03 2015-01-03 03:23 '15 at 3:23 2015-01-03 03:23

Jei ieškote didelės visuotinės „ .gitignore failo bet kuriam „Visual Studio“ (.NET) sprendimui, rekomenduoju jį naudoti: https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

AFAIK turi .gitignore projektą .NET.

17
30 июля '15 в 17:33 2015-07-30 17:33 Atsakymą pateikė Jochen van Wylick liepos 15 d. 15:33 2015-07-30 17:33

1 veiksmas: pridėkite šį turinį į .gitignore failą.

 $ git rm -r --cached . $ git add . $ git commit -m 'Update .gitignore' 

2019

03 июня '18 в 9:46 2018-06-03 09:46 Atsakymą Bravo Yeung pateikė birželio 03 d. 18 val. 9:46. 2018-06-03 09:46

Kaip pranešimas;

Jei manote, kad „ .gitignore neveikia tam tikru būdu (taip įtraukiamas „ foobin (yes without the / in the end) git version 2.18.0

1
16 июля '18 в 20:28 2018-07-16 20:28 AnthonyC atsakymą pateikė liepos 18 d. 18 val. 20:28 2018-07-16 20:28

Jei .gitignore viduje .gitignore modelis baigiasi su brūkšniu / , jis suras tik atitikimą su katalogu.

Kitaip tariant, bin/ bus suderintas su bin ir keliais, esančiais po juo, tačiau neatitiks įprastos rinkmenos ar simbolinės bin nuorodos.


Jei šablone nėra brūkšnelio, kaip ir bin Git jį laiko korpuso šablonu (gobšus). Taigi geriausia būtų naudoti paprastą /bin .

bin nebus geriausias šios problemos sprendimas.

0
29 янв. Atsakymas pateikiamas prosti sausio 29 d. 2019-01-29 22:34 '19 , 10:34 pm 2019-01-29 22:34

Įtraukus ** / bin / į .gitignore failą, man tai pavyko (Pastaba: dėžės aplankas nebuvo įtrauktas į indeksą).

0
14 мая '17 в 15:58 2017-05-14 15:58 Dhwaneel atsakymą pateikė gegužės 17 d. 17:58 15:58 15:58

Kiti klausimai apie „ arba Užduoti klausimą