2016-03-03 15 views
39

È possibile tracciare ricorsivamente tutti i file contenuti in una cartella e nelle relative sottocartelle con Git LFS?Cartella traccia Git LFS in modo ricorsivo

mi piacerebbe fare qualcosa di simile:

git lfs track myfolder/* 

risposta

47

Usa git lfs track "myfolder/**", con le virgolette per evitare il guscio in espansione già il modello. Tutto ciò che il comando track deve scrivere su .gitattributes, che a sua volta utilizza le stesse regole di corrispondenza del modello di .gitignore, vedere la descrizione PATTERN FORMAT.

+0

Ho provato questo con le sottocartelle, ma sono tracciati solo i file e le sottocartelle dirette (come ** myfolder/myfolder2/**) contenute in ** myfolder **, ma non i file contenuti nelle sottocartelle (come ** myfolder /myfolder/myfile.png**). Grazie per il tuo aiuto – csa

+7

Ah, probabilmente sei una vittima dell'espansione della shell, ad esempio "myfolder/**" è stato espanso dalla shell prima di essere passato a Git. Ho aggiornato la mia risposta per aggiungere citazioni, che dovrebbero risolverlo. – sschuberth

+0

'.gitattributes' NON segue (TUTTI) le stesse regole di corrispondenza dei pattern documentate dal link git-scm precedente, altrimenti" myfolder/** "potrebbe essere sostituito da" myfolder/"coerente con l'istruzione" foo/abbinerà " una directory foo e percorsi sottostanti ". Penso che ("non confermato") "myfolder /" funzioni in ".gitignore" perché il processo di ignizione discende attraverso il file system fermandosi ad una corrispondenza, ma ".gitattributes" viene confrontato con un elenco preesistente. Se si trova diversamente, si prega di aggiungere un commento con la versione git/git-lfs che ha invertito questo. – SensorSmith

Problemi correlati