Quali sono le differenze fra gitignore e gitkeep? In questo articolo scoprirai tutto questo con un vero e proprio gitkeep vs gitignore.
Git offre tanto: così tanto che all’interno di questo blog puoi trovare una categoria intera che lo tratta. Come mai dargli così tanto peso? Semplice: di errori con git ne ho fatti tanti e ho trovato giusto documentarli, ma perché?
Ciao mi chiamo Lorenzo Neri e sono un informatico: mi occupo di realizzare contenuti che aiutino persone come te a padroneggiare l’arte del nuovo millennio, l’informatica!
E come poter aiutare persone come te senza le soluzioni che ho trovato lungo la mia strada? Tra queste ci sono proprio tutte le differenze che ho individuato fra gitignore e gitkeep: scopriamole assieme.
La prima differenza fra gitignore e gitkeep è la documentazione
Ebbene sì: se ti stai chiedendo quali sono le differenze fra gitignore e gitkeep la prima è proprio la documentazione: “gitkeep” non è documentato, il che significa che non è una feature supportata ufficialmente da git.
A questo punto capiamo assieme che il file “.gitkeep” che è l’antitesi del più noto e comune “.gitignore” è più una “convenzione” che una funzionalità vera e propria di git.
Non per nulla non c’è nemmeno da chiedersi come mai io stesso abbia creato una “categoria” all’interno della categoria di “git”.
In che senso? In questo blog, oltre ad aver dato vita alla categoria legata a git e al version control, ho creato non pochi articoli sul tanto famoso file “gitignore” che ho il piacere di farti scoprire con un click proprio qui.
A questo punto però se non è una convenzione perché esiste?
Fra i tanti articoli dove ho parlato di git ce n’è uno dove spiego come aggiungere una cartella vuota al tuo repository: sembra una cosa stupida ma ci sono persone fra cui forse te che hanno bisogno di tenere traccia delle cartelle vuote.
E quindi si è andata a creare la convenzione per cui si inserire un file nominato “.gitkeep” all’interno di queste directory.

Ma devo essere totalmente sincero con te: a git non frega assolutamente nulla del nome stesso del file, lo puoi chiamare anche “Pippo” che a lui non cambia nulla.
Quindi vien da sé che gitignore vs gitkeep è pura convenzione, ma…
Ma c’è un “ma” perché il .gitignore è a tutti gli effetti una feature vera e propria di git che è documentata ufficialmente qui.
E di fatto, è un file speciale che git non solo riconosce ma permette di usare.
Per che cosa? Per permettere ai suoi utilizzatori come te e me di tenere traccia di tutti quei file da ignorare.