Ho appena creato un repository Github e mi chiedevo a cosa servisse il file .gitignore
. Ho iniziato non creando uno, ma ne ho aggiunto uno a causa del fatto che molti repository ne hanno uno. Devo averne uno? Posso/posso ignorarlo o ha un uso? Ho fatto qualche ricerca sull'argomento ma non sono riuscito a trovare una spiegazione concreta.Cos'è esattamente .gitignore?
risposta
.gitignore
dice git quali file (o modelli) si dovrebbe ignorare. Solitamente viene utilizzato per evitare l'invio di file temporanei dalla directory di lavoro che non sono utili ad altri collaboratori, come prodotti di compilazione, creazione di file temporanei IDE, ecc.
È possibile trovare tutti i dettagli here.
È un elenco di file che si desidera ignorare nella directory di lavoro.
Supponiamo che tu sia su un Mac e che tu abbia file .DS_Store in tutte le tue directory. Vuoi che git li ignori, quindi aggiungi .DS_Store come una riga in .gitignore. E così via.
La documentazione git vi dirà tutto quello che dovete sapere: http://git-scm.com/docs/gitignore
Il tuo scenario '.DS_Store' finalmente risuonava con me perché immagino di non essere aggrappato a questo concetto perché non avevo ancora bisogno di usarlo in un progetto. Grazie. Ho finito con l'utilizzo di [this] (https://gist.github.com/octocat/9257657) come punto di partenza poiché utilizzo tutti i diversi sistemi operativi notando in modo specifico la sezione '# File generati dal sistema operativo #'. – phoenixlaef
So che sono in ritardo per questa discussione, ma grazie @AndyLester! Sono un novizio quando si parla di programmazione e Github. Trovo che molte delle risposte scritte per rispondere a questo tipo di domande siano piene di termini che i novizi potrebbero non comprendere (ad esempio, i prodotti di compilazione, gli IDE di file temporanei creano .... quali sono le h @ ll queste cose!). Tuttavia, la descrizione del tuo Mac è perfetta nella sua elegante semplicità! – Vesuccio
Quando si esegue un commit, non si desidera includere accidentalmente file temporanei o creare cartelle specifiche. Quindi utilizzare un .gitignore
elencando gli elementi che si desidera ignorare dal commit.
Inoltre, soprattuttogit status
è uno dei comandi più frequentemente utilizzati in cui si desidera git status
per elencare i file che sono stati modificati.
Si si desidera il tuo elenco git status
look pulito da file indesiderati. Per esempio, ho cambiato a.cpp, b.cpp, c.cpp, d.cpp & e.cpp
voglio che il mio git status
alla lista seguente:
git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
Non voglio git status
di elencare i file modificati come questo con i file oggetto intermedi & file dalla cartella di compilazione
git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
.DS_Store
/build/program.o
/build/program.cmake
Quindi, per liberarmi da git status
per elencare questi file temporanei intermedi & accidentalmente nel repo, dovrei creare un .gitignore
che tutti fanno. Tutto quello che devo fare è elencare le cartelle dei file & nello .gitignore
che voglio escludere dal commit.
In seguito è la mia .gitignore
per evitare di commettere i file non necessari
/*.cmake
/*.DS_Store
/.user
/build
Ci sono file che non si desidera Git per il check-in a.Git vede ogni file nella tua copia di lavoro come una delle tre cose:
- monitorato - un file che è stato precedentemente messo in scena o impegnato;
- non tracciato - un file che non è stato messo in scena o impegnato; oppure
- ignorato - un file che a Git è stato esplicitamente detto di ignorare.
I file ignorati sono in genere artefatti generati e file generati dalla macchina che possono essere derivati dall'origine del repository o che altrimenti non dovrebbero essere impegnati. Alcuni esempi comuni sono: cache
- di dipendenza, come ad esempio il contenuto di
/node_modules
o/packages
- codice compilato, come ad esempio
.o
,.pyc
, e.class
file - directory di output di generazione, come ad esempio
/bin
,/out
, o/target
- file generati in fase di esecuzione, ad esempio
.log
,.lock
o.tmp
- file di sistema nascoste, come ad esempio
.DS_Store
oThumbs.db
- file di configurazione IDE personali, come ad esempio
.idea/workspace.xml
file ignorati sono tracciati in un file speciale denominato .gitignore
che viene registrato alla radice del vostro repository. Non esiste un comando esplicito di git ignore: invece il file .gitignore
deve essere modificato e impegnato manualmente quando si hanno nuovi file che si desidera ignorare. I file .gitignore
contengono pattern corrispondenti ai nomi file nel repository per determinare se debbano o meno essere ignorati. Ecco un file sample.gitignore
. Per ulteriori dettagli guarda questo link
Funziona anche per password e sicurezza – TheBlackBenzKid
Quindi, se crei un .gitignore in un nuovo repository su github.com, e poi fai un git init e git add *. * Sul tuo computer locale - non ancora connesso a. gitignore in quanto non è ancora collegato a quel repository - come funziona? Ha effetto quando eseguo un commit Git? O? – Xonatron
per cosa viene usato '_._ gitignore'? è usato solo quando 'gitignore 'si trova in una sotto-dir.? –