„Git“ saugyklose esančių katalogų ignoravimas „Windows“ sistemoje

Kaip ignoruoti katalogus ar aplankus „Git“ naudojant „msysgit“ sistemoje „Windows“?

680
nustatyti sf. 05 gr 2008-12-05 15:17 '08, 15:17, 2008-12-05 15:17
@ 13 atsakymų

Projekto kataloge sukurkite failą, vadinamą .gitignore . Ignoruokite katalogus įvesdami katalogo pavadinimą faile (su brūkšniu):

 dir_to_ignore/ 

Skaitykite daugiau čia .

996
05 дек. atsakymas suteiktas 05 gruodis. 2008-12-05 15:54 '08, 15:54 pm 2008-12-05 15:54

Pagal numatytuosius nustatymus „Windows Explorer“ parodys .gitignore , jei iš tikrųjų failo pavadinimas yra .gitignore.txt

„Git“ nenaudos .gitignore.txt

Ir negalite pervardyti failo į .gitignore , nes tyrėjas jį laiko gitignore tipo failu be pavadinimo.

border=0

Sprendimas be komandinės eilutės:

  Galite pervardyti failą „.gitignore“.  ir jis sukurs „.gitignore“ 
137
22 июля '10 в 14:23 2010-07-22 14:23 atsakymą pateikė „ brainwavedave“ liepos 22 d., 10 val., 14:23, 2010-07-22 14:23

Atrodo, kad yra du pagrindiniai būdai ignoruoti failus ir katalogus:

  • .gitignore

    • .gitignore failą į savo repo šaknį, išskyrus „ .git („Windows“, įsitikinkite, kad matote tikrąjį failo plėtinį ir tada atlikite .gitignore. (Kai taškas baigiasi, failo plėtinys tuščias)
    • Sukurkite pasaulinę konfigūraciją ~/.gitignore_global ir paleiskite git config --global core.excludesfile ~/.gitignore_global kad pridėtumėte šį git config --global core.excludesfile ~/.gitignore_global prie git konfigūracijos

    Pastaba: anksčiau stebimi failai gali būti stebimi paleisdami „ git rm --cached filename

  • Atmesti Repo . Vietiniams failams, kurie neturėtų būti bendrinami, tiesiog pridėkite failo šabloną arba katalogą .git/info/exclude rinkmenai. Abstrakčios taisyklės nevykdomos, todėl kiti naudotojai jo nemato .

[updated] Jei norite, kad ignoravimo sąraše būtų išimtys, žr. šį klausimą .

68
01 мая '12 в 13:30 2012-05-01 13:30 atsakymas suteiktas Vairiui 01 gegužės 12 d. 13:30 2012-05-01 13:30

Turiu problemų kuriant failą „Windows Explorer“ naudodami. pradžioje.

Problemos sprendimas buvo eiti į komandų skydelį ir sukurti naują failą naudojant „redaguoti“

38
Atsakymą pateikia sf. 05 gr 2008-12-05 16:50 '08 at 4:50 pm 2008-12-05 16:50

Jei norite, kad GIT ignoruotų tam tikrus failus ar aplankus, turite sukurti .gitignore failą.

bet naršyklėje „Windows Explorer“ turite nurodyti failo pavadinimą, paprasčiausiai negalite sukurti failo su paprastu plėtiniu, o tai yra sukurti tuščią tekstinį failą ir eiti į komandų eilutę bei pakeisti failo pavadinimą į .gitignore

 ren "New Text Document.txt" .gitignore 

Dabar atidarykite failą su savo mėgstamu teksto redaktoriumi ir pridėkite failų / aplankų, kuriuos norite ignoruoti, pavadinimus. Taip pat galite naudoti tokias vietoves *.txt

Tikiuosi, kad jis atsakys į jūsų klausimą.

34
25 марта '10 в 21:14 2010-03-25 21:14 atsakymas pateikiamas Mahes'o kovo 10 d., 21:14, 2010-03-25 21:14

Taip pat jūsų projekto kataloge „ \.git\info yra pašalinimo failas, kuris iš tikrųjų yra toks pat kaip .gitignore (manau). Jūs galite pridėti failus ir katalogus, kad į tai neatsižvelgtumėte.

11
10 февр. Atsakymas pateikiamas Si3 10 vasario mėn. 2011-02-10 13:12 '11, 13:12 pm. 2011-02-10 13:12

„Windows“ sistemoje yra papildomas fiksatorius su brūkšniu. Išskirkite vieną katalogą .gitignore su

dir_to_exclude /

gali veikti, bet neįtraukiant visų katalogų

/

sukelia problemų, kai jūsų kataloge yra failų pavadinimai su tarpais (pvz., my file.txt ): „Git bash“ išeina iš šių tarpų su atgaline juosta (pvz., my\ file.txt ) ir „Git for Windows“ nesiskiria / ir \

Norėdami geriau naudoti visus katalogus:

** /

Katalogų turinį nurodo dvi eilės žvaigždės.

11
13 янв. atsakymas pateikiamas sausio 13 d 2014-01-13 16:49 '14, 16:49 2014-01-13 16:49

Man kyla problemų gauti „gitignore“ failą į „Windows“. $ GIT_DIR / info / izslēgti failas visada veikia. Tačiau šio požiūrio trūkumas yra tas, kad į katalogą $ GIT_DIR įtraukti failai nėra įtraukti į registraciją ir todėl jie nenaudojami.

(ps $ GIT_DIR paprastai yra paslėptas aplankas .git)

6
15 февр. Atsakymą Jasonas pateikia vasario 15 d. 2012-02-15 22:43 '12, 10:43 val. 2012-02-15 22:43

Jei norite išsaugoti aplanką ir jo viduje esančius failus, tiesiog įdėkite „.gitignore“ failą „*“ kaip turinį. Šis failas ignoruoja visą turinį iš saugyklos. Tačiau .gitignore įtrauks į jūsų repo.

 $ git add path/to/folder/.gitignore 

Jei pridedate tuščią aplanką, gausite šį pranešimą (.gitignore yra paslėptas failas)

 The following paths are ignored by one of your .gitignore files: path/to/folder/.gitignore Use -f if you really want to add them. fatal: no files added 

Taigi naudokite -f, kad priverstumėte papildymą:

 $ git add path/to/folder/.gitignore -f 
6
29 июня '12 в 13:29 2012-06-29 13:29 atsakymą davė „ sensorario “ birželio 29 d., 12 val., 12:29 pm 2012-06-29 13:29

Galite sukurti .gitignore failą su turiniu:

 * !.gitignore 

Jis veikia man ir teisingai.

5
05 февр. Atsakymą pateikė Claudionor Oliveira 05 vasaris. 2015-02-05 17:27 '15, 17:27, 2015-02-05 17:27

Manau, kad problema yra ta, kad jūsų darbo medis atrodo kaip:

 a-cache/foo a-cache/index.html b-cache/bar b-cache/foo b-cache/index.html .gitignore 

... su .gitignore , kurį apibūdinate. Tai suteiks jums git status išvestį, pavyzdžiui:

 $ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # .gitignore # a-cache/ # b-cache/ 

... jei index.html failai dar nėra įtraukti į saugyklą. („Git“ mato, kad talpyklų kataloguose yra neužregistruotų failų, bet tik ataskaitų katalogai.) Norėdami išspręsti šią problemą, įsitikinkite, kad pridėjote ir index.html failus:

 git add *cache/index.html git commit -m "Adding index.html files to the cache directories" 

... ir jūsų git status atrodys taip:

 $ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # .gitignore nothing added to commit but untracked files present (use "git add" to track) 

(Akivaizdu, kad jūs taip pat norite pataisyti .gitignore , šiuo atveju buvau tiesiog tingus).

4
29 июня '12 в 13:11 2012-06-29 13:11 atsakymą įteikė Markas Longairas birželio 12 d. 12 d. 1:11 2012-06-29 13:11

Jei norite ignoruoti visą katalogą „git“, paprasčiausias būdas yra įtraukti į tikslinį katalogą .gitignore, kuriame yra tiesiog „*“

Iliustracinis pavyzdys

Sistemos pavyzdys

 /root/ .gitignore /dirA/ someFile1.txt someFile2.txt /dirB/ .gitignore someFile3.txt someFile4.txt 

Tikslas

  • ignoruoti turinį / dirB /

Aukščiausias lygis .gitignore (/root/.gitignore)

  • Čia yra jūsų standartinė gitignore informacija.

Ignoruotas .gitignore katalogas (/root/dirB.gitignore)

  • Šis failas yra tiesiog skaitomas kaip „*“, o katalogas visiškai ignoruojamas, visi failai patys!

ir tai lengva :)

3
16 июня '16 в 0:51 2016-06-16 00:51 Atsakymą pateikė J-Dizzle birželio 16 d. 16 val. 0:51 2016-06-16 00:51

Turėjau panašių problemų, dirbau su „Windows“ įrankių grandine, turinčia bendrą repo su vaikinai iš „Linux“, jie greitai sukuria failus su tuo pačiu pavadinimu [išskyrus atvejį] šiame aplanke.

Poveikis yra tas, kad galiu klonuoti repo ir tuoj pat turėti dešimtis „modifikuotų“ failų, kurie, jei pažymėčiau, sukurs chaosą.

Turiu didžiosios ir mažosios raidės >

Jei turiu gitignore failus, turiu prisiminti ne .gitignore failą.

Tačiau čia aš rasiu gerą atsakymą http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

Chris

1
06 авг. atsakymas, kurį pateikė Chris Aaaaa 2012-08-06 18:01 '12 at 18:01 pm 2012-08-06 18:01

Kiti klausimai apie žymes arba Užduoti klausimą