Pensi che sia una buona pratica impegnare .gitignore in un repository Git?
Ad alcune persone non piace, ma penso che sia buono in quanto puoi tenere traccia della cronologia del file. No?
Pensi che sia una buona pratica impegnare .gitignore in un repository Git?
Ad alcune persone non piace, ma penso che sia buono in quanto puoi tenere traccia della cronologia del file. No?
Risposte:
Normalmente sì, .gitignoreè utile per tutti coloro che vogliono lavorare con il repository. A volte vorrai ignorare altre cose private (forse crei spesso LOGo qualcosa del genere. In quei casi probabilmente non vorrai forzarlo su nessun altro.
$GIT_DIR/info/excludeo ~/.gitconfigcome appropriato.
git rm --cached FILENAME
In genere ti impegni .gitignore. In effetti, personalmente mi spingo al punto di assicurarmi che il mio indice sia sempre pulito quando non lavoro su qualcosa. (non git statusdovrebbe mostrare nulla.)
Ci sono casi in cui vuoi ignorare cose che in realtà non sono specifiche del progetto. Ad esempio, il tuo editor di testo potrebbe creare *~file di backup automatici o un altro esempio potrebbero essere i .DS_Storefile creati da OS X.
Direi che se altri si lamentano di quelle regole che ingombrano le tue .gitignore, lasciatele fuori e invece inseriscile in un file di esclusioni globale.
Per impostazione predefinita, questo file si trova in $XDG_CONFIG_HOME/git/ignore(predefinito su ~/.config/git/ignore), ma questa posizione può essere modificata impostando l' core.excludesfileopzione. Per esempio:
git config --global core.excludesfile ~/.gitignore
Basta creare e modificare il file di esclusione globale in base al contenuto del tuo cuore; si applicherà a tutti i repository git su cui lavori su quella macchina.
# some commentrighe al .gitignorefile per spiegare perché stai ignorando qualcosa. Commentando ogni linea è un po 'eccessivo, ma non ho sono le sezioni etichettato # IDE (Eclipse), # OS (Mac OS X)e # Generated (Perl). In questo modo, se qualcuno desidera utilizzare un sistema operativo o IDE diverso, può aggiungere una sezione e tutti possiamo condividerli.
core.excludesfileè è ~/.config/git/ignore, conforme alle specifiche della directory di base XDG
.gitignore: estremamente utile quando le persone con cui lavori non sono d'accordo sul contenuto dei .gitignorefile push o se debbano essere inviati, e tutti noi utilizziamo tonnellate di ambienti di sviluppo diversi che generano diversi tipi di rumore.
Ho messo commit .gitignore, che è una cortesia per gli altri che potrebbero costruire il mio progetto che i seguenti file sono derivati e dovrebbero essere ignorati.
Di solito faccio un ibrido. Mi piace fare in modo che makefile generi il file .gitignore dal momento che il makefile conoscerà tutti i file associati al progetto o derivati. Quindi avere un progetto di livello superiore .gitignore che si effettua il check-in, che ignorerebbe i file .gitignore generati creati dal makefile per le varie sottodirectory.
Quindi nel mio progetto, potrei avere una sottodirectory bin con tutti gli eseguibili creati. Quindi, farò in modo che il mio makefile generi un .gitignore per quella directory bin. E nella directory principale .gitignore che elenca bin / .gitignore. Quello in alto è quello che controllo.
Commettere .gitignore può essere molto utile, ma vuoi assicurarti di non modificarlo troppo in seguito, specialmente se passi regolarmente da un ramo all'altro. In tal caso potresti ottenere casi in cui i file vengono ignorati in un ramo e non nell'altro, costringendoti a passare manualmente a eliminare o rinominare i file nella directory di lavoro perché un checkout non è riuscito poiché sovrascriverebbe un file non tracciato.
Quindi sì, commetti il tuo .gitignore, ma non prima di essere ragionevolmente sicuro che non cambierà molto da quel momento in poi.
È buona norma .gitignore almeno i prodotti di costruzione (programmi, * .o, ecc.).
.gitignore essa stessa essere " .gitignore'd"?