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 LOG
o qualcosa del genere. In quei casi probabilmente non vorrai forzarlo su nessun altro.
$GIT_DIR/info/exclude
o ~/.gitconfig
come 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 status
dovrebbe 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_Store
file 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.excludesfile
opzione. 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 comment
righe al .gitignore
file 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 .gitignore
file 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"?