2016-02-20 5 views
5

Problem tat

Ich hatte Probleme versuchen git LFS zu verwenden, trotz der vielen Vorschläge hier auf SO, auf Git und GitHub in der Dokumentation und auf einige Gists I Ich würde rüber rennen.Git LFS verweigert meine große Dateien ordnungsgemäß zu verfolgen, bis ich die folgende

Mein Problem war, wie folgt:

die notwendigen Schritte Nach der Durchführung:

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

würde ich noch irgendwelche Dateien nicht haben verfolgt. Wenn ich

git lfs ls-files 

durchgeführt hätte, wäre es leer. Wenn ich vorangehe & führte den Push, würde die Transaktion fehlschlagen, sagen, dass die Dateien zu groß sind. (Wie erwartet, aber ich war verzweifelt.)

+1

ich vergessen haben, '' 'git LFS install''' es löste das Problem für mich –

+0

@RavinSardal danke! Ich hatte diesen Fehler eigentlich nicht gemacht, aber ich fand, dass dieser Fehler, den ich hatte, jetzt überholt ist. Ich nehme an, dass etwas innerhalb der LFS-Interna verbessert wurde, so dass das Nachverfolgen von Dateien jetzt reibungsloser funktioniert. –

Antwort

8

Mein (Original Plakat) „Lösung“

ich dann ein paar Korrekturen entdeckt, scheinen von denen einige Fehler zu sein, mir von denen einige einfach nicht offensichtlich waren .

  1. Es scheint, dass um lfs mit einem vorhandenen Repository zu verwenden, ein Hack oder Drittanbieter-Tool wie BFG's converter benötigt wird.

    • Ich wollte nicht, diesen Weg zu gehen, so einfach ich initialisiert ein neues Repository lokal, tat dann die Herausforderung es wieder von Einhaken der realen Repo-up.
    • ich ein neues Verzeichnis erstellt, dann git init usw.
      • In meinem Fall war der Remote-Repository GitHub. Also habe ich all die richtigen Anschlüsse wie git remote add origin [email protected]:<my_id>/<my_repo>.git
  2. Auch während Git's Training Video Ansprüche, die Sie einfach angeben einen Ordner, wie "my_folder/", konnte ich das nicht an die Arbeit. Daher habe ich einfach geschickt Dateinamenerweiterungen verwendet, um Dinge zu verwalten.

    • Zum Beispiel git lfs track "my_folder/" wäre für mich nicht funktionieren, aber git lfs track "*.zip" funktioniert.
  3. hatte ich kein Glück bekommen LFS-Dateien korrekt identifiziert werden, es sei denn, ich zuerst aktualisiert, um die .gitattributes Datei hatte, und engagiert und schob die neue Datei auf dem Remote-Server.

    • 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
      • Und hier würde ich sicherstellen, dass ich sah my_large_file.zip sein t gepackt.
    • git commit -m "Now I am adding the large file"
    • git push

Es ist möglich, dass einige der Dinge funktionieren, und ich war einfach, sie falsch zu machen. Doch nachdem ich die oben beschriebene Hexerei hinter mich gebracht hatte, kam LFS endlich zur Arbeit, also dachte ich, ich würde diese Details weitergeben, falls jemand anders das gleiche Problem hatte.

+1

Hey Mike, ich hatte alle die gleichen Probleme. Ich konnte meine Probleme lösen, indem ich auf die neueste Version von git-lfs aktualisierte. Leider gibt es keine klare Dokumentation dafür, also habe ich einfach 1.1.2 heruntergeladen und das Shell-Skript erneut ausgeführt. 'git lfs track" Verzeichnis "' funktioniert für mich jetzt. –

+0

Hallo @MattBorn, danke für die Info! Ich hatte * nur * git-lfs * heruntergeladen, also bin ich mir ziemlich sicher, dass das nicht das Problem war. Unabhängig davon, ich konnte meins lösen, und ich schrieb die obige Lösung, falls andere Probleme haben und meine eigene zukünftige Dokumentation. –

+0

Gute Übersicht. Ich kann die Ordnerverfolgung auch nicht ausführen. Irgendeine Idee warum das sein könnte? Ich kann mich nicht wirklich auf Erweiterungen für meinen Fall verlassen. – Gabriel

2

Um alle Dateien und Unterverzeichnisse von my_folder über LFS zu verfolgen, können Sie tun:

git lfs track "my_folder/**" 

Es ist für mich gearbeitet.

folgendes zu tun, ist nicht schon jetzt arbeiten my_folder Verzeichnis zu verfolgen Ganzes:

git lfs track "my_folder/" 

nicht funktioniert

+0

Gut zu wissen, danke! –

+0

Wie funktioniert das Tracking großer Dateien in einem bestimmten Verzeichnis? Wie zum Beispiel alle '* .mp4' Dateien in' my_folder/sub_folder'? – ruelluna

+0

Ich bin mir nicht sicher aber, ist nicht git lfs verfolgen "my_foldersub_folder/*. Mp4" funktioniert? – Tejaswini

Verwandte Themen