Git Tutorial - Ignoring files and folders with the gitignore file
Sommario:
- Quali file devono essere ignorati?
- .gitignore
- Personal Ignore Rules
.gitignore
globale- Ignorando un file precedentemente impegnato
- Debug del file
.gitignore
- Visualizzazione di tutti i file ignorati
- Conclusione
Spesso, quando si lavora su un progetto che utilizza Git, è necessario escludere file o directory specifici dall'invio al repository remoto.
Il file
.gitignore
specifica quali file non tracciati devono essere ignorati da Git.
Quali file devono essere ignorati?
I file ignorati sono generalmente file specifici della piattaforma o file creati automaticamente dai sistemi di compilazione. Alcuni esempi comuni includono:
- File di runtime come registro, blocco, cache o file temporanei. File con informazioni riservate, come password o chiavi API. Codice compilato, come
.class
o.o
. Directory di dipendenza, come/vendor
o/node_modules
Directory directory, ad esempio/public
,/out
o/dist
. File di sistema come.DS_Store
oThumbs.db
IDE o file di configurazione dell'editor di testo.
.gitignore
Un file
.gitignore
locale viene in genere inserito nella directory principale del repository. Tuttavia, è possibile creare più file
.gitignore
in diverse sottodirectory nel repository. I pattern nei file
.gitignore
sono abbinati rispetto alla directory in cui risiede il file.
I pattern definiti nei file che risiedono in directory di livello inferiore (sottodirectory) hanno la precedenza su quelli nelle directory di livello superiore.
I file
.gitignore
locali sono condivisi con altri sviluppatori e devono contenere schemi utili per tutti gli altri utenti del repository.
Personal Ignore Rules
I pattern specifici per il proprio repository locale e che non devono essere distribuiti ad altri repository, devono essere impostati nel file
.git/info/exclude
.
Ad esempio, è possibile utilizzare questo file per ignorare i file generati dagli strumenti di progetto personali.
.gitignore
globale
Git ti consente anche di creare un file
.gitignore
globale, dove puoi definire le regole di ignorare per ogni repository Git sul tuo sistema locale.
Il file può essere nominato come preferisci e archiviato in qualsiasi posizione. Il posto più comune per conservare questo file è la home directory. Dovrai creare manualmente il file e configurare Git per usarlo.
Ad esempio, per impostare
~/.gitignore_global
come file Git globale da ignorare, si dovrebbe fare quanto segue:
-
Crea il file:
touch ~/.gitignore_global
Aggiungi il file alla configurazione di Git:
git config --global core.excludesfile ~/.gitignore_global
Apri il file con il tuo editor di testo e aggiungi le tue regole.
Le regole globali sono particolarmente utili per ignorare determinati file che non si desidera mai eseguire il commit, ad esempio file con informazioni riservate o file eseguibili compilati.
Ignorando un file precedentemente impegnato
I file nella copia di lavoro possono essere tracciati o non tracciati.
Per ignorare un file che è stato precedentemente sottoposto a commit, è necessario disinstallare e rimuovere il file dall'indice, quindi aggiungere una regola per il file in
.gitignore
:
git rm --cached filename
L'opzione
--cached
dice a git di non cancellare il file dall'albero di lavoro ma solo di rimuoverlo dall'indice.
Per rimuovere ricorsivamente una directory, usa l'opzione
-r
:
git rm --cached filename
Quando si eliminano i file in modo ricorsivo, utilizzare l'opzione
-n
che eseguirà un "ciclo di prova" e mostrerà quali file verranno eliminati:
Debug del file
.gitignore
A volte può essere difficile determinare il motivo per cui un file specifico viene ignorato, soprattutto quando si utilizzano più file
.gitignore
o schemi complessi. Qui è utile il comando
git check-ignore
con l'opzione
-v
, che dice a git di visualizzare i dettagli sul modello di corrispondenza.
Ad esempio, per verificare perché il file
www/yarn.lock
viene ignorato, eseguire:
git check-ignore -v www/yarn.lock
L'output mostra il percorso del file
gitignore
, il numero della linea corrispondente e il modello effettivo.
www/.gitignore:31:/yarn.lock www/yarn.lock
Il comando accetta anche più di un nome file come argomenti e il file non deve esistere nel tuo albero di lavoro.
Visualizzazione di tutti i file ignorati
Il comando
git status
con l'opzione
--ignored
mostra un elenco di tutti i file ignorati:
Conclusione
Il file
.gitignore
consente di escludere i file dal controllo nel repository. Il file contiene schemi globbing che descrivono quali file e directory devono essere ignorati.
gitignore.io è un servizio online che ti consente di generare file
.gitignore
per il tuo sistema operativo, linguaggio di programmazione o IDE.
È Sicuro ignorare i Service Pack di Windows?

Don Dalton ha installato l'aggiornamento SP1 di Vista, ha riscontrato "una moltitudine di problemi" e disinstallato. Può tranquillamente continuare all'infinito senza di esso?
Come ignorare la schermata della password di Windows 8

Stanco di inserire la password ogni volta che si avvia il PC? Ecco come disattivare quell'opzione.
5 suggerimenti per la sicurezza dell'account Google che non dovresti ignorare

Una parte intrinseca della nostra vita poiché la usiamo ogni volta che navighiamo in rete o accendiamo i nostri dispositivi Android. Leggi questo articolo e mantieni il tuo account al sicuro.