2016-02-20 3 views
5

Problema

ho avuto problemi cercando di utilizzare git LFS, nonostante le molte proposte qui su SO, sulla documentazione Git e GitHub di, e su alcuni Gists I attraversare.Git LFS rifiutato di monitorare i miei file di grandi dimensioni correttamente, fino a quando ho fatto la seguente

Il mio problema è il seguente:

Dopo aver eseguito i passi necessari:

git lfs install 
git lfs track "<file of interest>" 
git commit 

avrei ancora non hanno alcun file che vengono monitorati. Se eseguissi

git lfs ls-files 

sarebbe vuoto. Se avessi proseguito con lo &, la transazione sarebbe fallita, dicendo che i file sono troppo grandi. (Come previsto, ma ero disperato.)

+1

Ho dimenticato di '' 'LFS git install''' è risolto il problema per me –

+0

@RavinSardal ringraziamenti! In realtà non avevo commesso questo errore, tuttavia ho scoperto che questo errore che stavo avendo è ormai obsoleto. Immagino che qualcosa all'interno degli interni di LFS sia stato migliorato, così che avere i file rintracciati funzioni più facilmente ora. –

risposta

8

mio (poster originale) "Soluzione"

Poi ho scoperto alcune correzioni, alcune delle quali sembrano essere i bug, alcuni dei quali semplicemente non erano ovvio per me .

  1. Sembra che, al fine di utilizzare lfs con una esistente repository, un hack o uno strumento di terze parti è necessario, come BFG's converter.

    • Non volevo di seguire questa strada, così ho semplicemente inizializzato un nuovo repository a livello locale, poi ha fatto la sfida di agganciandolo indietro fino al vero e proprio repo.
    • ho creato una nuova directory, quindi git init, ecc
      • Nel mio caso, il repository remoto era GitHub. Così ho fatto tutti quei collegamenti adeguati come git remote add origin [email protected]:<my_id>/<my_repo>.git
  2. Inoltre, mentre Git's Training Video sostiene che si può semplicemente specificare una cartella, come ad esempio "my_folder/", non ho potuto ottenere questo lavoro. Pertanto, ho semplicemente usato le estensioni del nome file per gestire le cose.

    • Per esempio, git lfs track "my_folder/" non avrebbe funzionato per me, ma git lfs track "*.zip" ha funzionato.
  3. non ho avuto fortuna ottenere file LFS per essere identificato correttamente a meno ho avuto prima aggiornato il file .gitattributes, e impegnati e spinto che nuovo file al server remoto.

    • git lfs track "*.zip"
    • git add .gitattributes
    • git commit -m "Updated the attributes"
    • git push
    • git add my_large_file.zip
    • git lfs ls-files
      • E qui vorrei assicurare che ho visto my_large_file.zip essere t tormentato.
    • git commit -m "Now I am adding the large file"
    • git push

E 'possibile che alcune delle cose che funzionano, e stavo semplicemente facendo loro torto. Tuttavia, seguendo la stregoneria descritta sopra, finalmente LFS ha funzionato, quindi ho pensato di trasmettere questi dettagli per gli altri, nel caso in cui qualcun altro avesse avuto lo stesso problema.

+1

Hey Mike, ho avuto tutti gli stessi problemi. Sono stato in grado di risolvere i miei problemi aggiornando all'ultima versione di git-lfs. Sfortunatamente, non c'è una documentazione chiara per questo, quindi ho appena scaricato 1.1.2 e ho eseguito di nuovo lo script della shell. 'git lfs track" directory "' funziona per me ora. –

+0

Ciao @MattBorn, grazie per le informazioni! In realtà avevo * appena * scaricato git-lfs, quindi sono abbastanza sicuro che non era questo il problema. Indipendentemente da ciò, sono stato in grado di risolvere il mio e ho scritto la soluzione di cui sopra nel caso in cui altri avessero problemi e come la mia documentazione futura. –

+0

Buona panoramica. Inoltre non riesco a far funzionare il tracciamento della cartella. Qualche idea sul perché potrebbe essere? Non posso davvero fare affidamento sulle estensioni per il mio caso. – Gabriel

2

tenere traccia di tutti i file e le directory sotto di my_folder via LFS, si può fare:

git lfs track "my_folder/**" 

ha funzionato per me.

Facendo la seguente non funziona fin d'ora per monitorare tutta la my_folder directory:

git lfs track "my_folder/" 

non funziona

+0

Buono a sapersi, grazie! –

+0

Come funziona il monitoraggio di file di grandi dimensioni su una directory specifica? Ad esempio, come tutti i file '* .mp4' in' my_folder/sub_folder'? – ruelluna

+0

Non sono sicuro, ma non git lfs track "my_foldersub_folder/*. Mp4" funziona? – Tejaswini

Problemi correlati