2015-10-05 22 views
6

Voglio solo memorizzare file con estensione .fmb, .fmx e .pll, ma non riesco a configurare il file .gitignore per raggiungere questo obiettivo.gitignore - Ignora tutti i tipi di file eccetto quelli specificati

Ho provato con il seguente:

!.fmb 
!.fmx 
!.pll 

e anche con:

!*.fmb 
!*.fmx 
!*.pll 

ma non funziona.

+1

Vedere [risposta] (http://stackoverflow.com/questions/1274057/making-git-forget-about-a-file-that-was-tracked-but-is-now-in-gitignore) a assicurati di rimuovere i file non tracciati dalla cache – Ajay

+0

Non ho ancora eseguito alcun commit, ma prenderò in considerazione per il futuro, grazie. – Julen

risposta

5

provare questo nella vostra gitignore File-

* !*.fmb !*.fmx !*.pll

Si vuole ignorare prima di tutto e poi i file whitelist.

+0

Grazie mille, funziona come un fascino. – Julen

4

L'unica regola da ricordare quando si tratta di regole è gitignore:

It is not possible to re-include a file if a parent directory of that file is excluded (*)
(*: a meno che non siano rispettate determinate condizioni in git 2.?+, vedi sotto)

Dal ' * 'ignorerebbe anche le cartelle, qualsiasi regola di esclusione file non funzionerebbe.

Prova:

* 
!*/ 
!*.fmb 
!*.fmx 
!*.pll 

che sarà adeguatamente non-ignorare le cartelle (!*/), e consentire la successiva regola di esclusione per lavorare sui file.


Si noti che con git 2.9.x/2.10 (metà 2016?), Potrebbe essere possibile ri-includere un file, se una directory padre di quel file è escluso if there is no wildcard in the path re-included.

Nguyễn Thái Ngọc Duy (pclouds) sta cercando di aggiungere questa funzionalità:

Tuttavia, dal momento che una delle condizioni di ri-inclusione era:

La parte directory nella ri-includono regole devono essere letterale (cioè senza i caratteri jolly)

che sarebbe non ho lavorato qui comunque.

+0

Anche la tua soluzione funziona, grazie. – Julen

+1

@nathan la soluzione che hai selezionato è sbagliata e non funzionerà quando quei file sono in sottocartelle. Si prega di non fuorviare gli altri utenti Git. – VonC

+1

@nathan Approvo, questa è la risposta corretta, non l'altra. Per favore accettalo –

Problemi correlati