2012-12-02 25 views
12

Attualmente, ogni volta che creo un file che vorrei Git tracciare, lo aggiungo semplicemente all'indice. Se non lo aggiungo all'indice, Git non lo "vedrà". Allora perché dovrei usare un file gitignore, invece di non aggiungerlo all'indice?Perché dovrei usare gitignore?

risposta

8

Generalmente troverete che l'aggiunta di ogni file uno per uno può diventare noioso quando il vostro progetto diventa più grande.

In Java, si può finire con molti file .class che non si desidera aggiungere al repository. Allo stesso modo, potresti finire con molti file .o in C o .pyc in Python (ad esempio).

modelli avendo come *.class, *.o, *.pyc nei file .gitignore consente di ignorare i file una volta per tutte. Le successive esecuzioni git status (o simili se si utilizza una GUI) non ti diranno che si tratta di file nuovi, non tracciati, permettendo così di concentrarsi sui file che sono veramente nuovi e notevolmente non tracciati.

Questo può anche essere utile se si aggiunge un'intera directory (ad esempio git add myproject): questo consente di ignorare una categoria di file del tutto.

6

Nasconde il file da git status. Soprattutto con un sacco di file generati, davvero non vuoi che vengano mostrati lì tutto il tempo. Inoltre, ti impedisce di aggiungerli accidentalmente, ad es. quando si fa git add somefolder.

Lo scopo dei file di gitignore è quello di garantire che determinati file non tracciati da git rimangano non tracciati.

3

Lo scopo di file gitignore è quello di garantire che alcuni file non monitorati da git rimangono non tracciata.

http://git-scm.com/docs/gitignore

Diciamo che esegue git add . dalla directory principale del pronti contro termine, e non hai niente ignorato. Hai appena aggiunto all'indice tutti quei file che eri mentalmente ignorando prima. Un ulteriore vantaggio è che, con una versione controllata .gitignore, è possibile assicurarsi che altri non commettano un errore simile.

0

Oltre alla praticità per l'utilizzo di git commit -a, è un dispositivo di sicurezza contro l'inquinamento accidentale del repository o l'esposizione di informazioni riservate.

0

Il vantaggio di specificare alcuni file in .gitignore di file è che si può commettere tutti i file monitorati subito senza preoccuparsi di file ignorati aggiunti accidentalmente. è di gran lunga più veloce di commettere i file utilizzando per esempio:

git commit -a 

invece di aggiungere uno per uno ...

1

Sì, per evitare file indesiderati da impegnare in archivio remoto di GIT. Fornisci semplicemente la descrizione appropriata nel file .gitignore come,

se voglio evitare file con estensione di file pyc o.file di classe quindi, * .pyc * .class

Metto queste due righe nel file .gitignore. in futuro non ho bisogno di preoccuparmi di questi file che non saranno mai impegnati nel repository GIT.

Grazie!

1

L'aggiunta di ogni file non è noiosa. Ad esempio, se si dispone di una serie di nuovi file .java si può fare:

find . -name \*.java | xargs git add

Mantenendo tutte le possibili eccezioni in .gitignore sarebbe noioso quando si hanno un sacco di loro. Quindi .gitignore ha senso quando le eccezioni (i modelli di file che non dovrebbero essere archiviati) sono pochi, ma ci sono molti modelli di file che vengono controllati e nuovi file continuano a spuntare regolarmente. Ma quando è il contrario, penso che la vita sia migliore senza .gitignore.