Risposte:
.gitkeep non è documentato, perché non è una funzionalità di Git.
Git non può aggiungere una directory completamente vuota . Le persone che vogliono tenere traccia di directory vuote in Git hanno creato la convenzione di mettere i file chiamati .gitkeepin queste directory. Il file potrebbe essere chiamato qualunque cosa; Git non assegna alcun significato speciale a questo nome.
Esiste una convenzione concorrente sull'aggiunta di un .gitignorefile alle directory vuote per farle rintracciare, ma alcune persone lo vedono come confuso poiché l'obiettivo è quello di mantenere le directory vuote, non ignorarle; .gitignoreè anche usato per elencare i file che dovrebbero essere ignorati da Git quando si cercano file non tracciati.
.gitignorefile con due righe: *ed !.gitignoreè più che sufficiente chiarezza per comunicare ciò che sta succedendo. Se è necessaria ulteriore elaborazione, aggiungere un commento nella parte superiore del file utilizzando la # sintassi.
.keepfile invece di .gitkeeppreservare queste cartelle vuote, poiché git non è l'unico sistema di controllo del codice sorgente che non tiene traccia delle cartelle vuote. Maggiori dettagli qui: github.com/rails/rails/issues/2800
.gitkeepè solo un segnaposto. Un file fittizio, quindi Git non dimenticherà la directory, poiché Git tiene traccia solo dei file.
Se si desidera una directory vuota e assicurarsi che rimanga 'pulito' per Git, creare un .gitignorecontenente le seguenti righe all'interno:
# .gitignore sample
###################
# Ignore all files in this dir...
*
# ... except for this one.
!.gitignore
Se desideri avere un solo tipo di file visibile su Git, ecco un esempio su come filtrare tutto, tranne .gitignore e tutti i .txtfile:
# .gitignore to keep just .txt files
###################################
# Filter everything...
*
# ... except the .gitignore...
!.gitignore
# ... and all text files.
!*.txt
('#' indica commenti.)
!di fronte .gitignore? È per sfuggire al punto?
!nega la parte seguente, come accade di solito in programmazione.
!.gitignoreun file git ignore, aggiungere il file e poi modificarlo, oppure forzarlo con il contenuto appropriato ("*" per ignorare tutto o niente per assicurarsi semplicemente che la cartella esista) ulteriore esempio .
Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.------ Se non lo è, e non fai un'aggiunta forzata, potresti dimenticartene. In casi banali, nessun problema, ma se si tratta di un file più grande potresti essere sconvolto. L'uso !.gitignoreti impedisce di spararti al piede. Lo preferisco, essendomi bruciato in passato.
.gitignore
è un file di testo che comprende un elenco di file nella directory che git ignorerà o non aggiungerà / aggiornerà nel repository.
.gitkeep
Poiché Git rimuove o non aggiunge directory vuote a un repository, .gitkeep è una specie di hack (non credo che sia ufficialmente chiamato come parte di Git) per mantenere le directory vuote nel repository.
Basta fare un touch /path/to/emptydirectory/.gitkeepper aggiungere il file e Git sarà ora in grado di mantenere questa directory nel repository.
.gitignores vuoi, se non vuoi specificare il percorso completo di ogni cartella ogni volta.
.gitkeepfile ma non traccia le directory vuote, traccia solo la cartella dove .gitkeepesiste il file. perchè così ?
.gitignorerisparmiare più s dal specificare ogni volta il percorso completo di ogni cartella? Penso che mi manchi qualcosa di ovvio.
READMEfile nella sottodirectory altrimenti vuota che contiene un po 'di informazioni su cosa verrà usata per quella sottodirectory? Sembra confuso avere un file chiamato.gitkeepche in realtà non fa parte di Git.