Wie kann angegeben werden, wo Git-LFS-Dateien gespeichert werden?

Lesezeit: 4 Minuten

Benutzer-Avatar
Bryan

Ich habe mich nur gefragt, ob jemand meine Verwirrung bezüglich der Verwendung von Git Large File Storage beseitigen könnte.

Beim Erstellen Ihres neuen Repositorys weiß ich, wie Sie bestimmte Dateien mit verfolgen können git lfs trackaber wie geben Sie an, wo diese Dateien gespeichert werden?

In dem Projekt, an dem ich arbeite, gibt es beispielsweise eine Reihe von PNG- und WAV-Dateien. Diese werden mit verfolgt git lfs track. Die Git LFS-Website sagt, dass sie auf einem Remote-Server gespeichert sind, aber ich kann nicht herausfinden, wo sich diese Informationen in unserem Repository befinden.

Wenn ein zweiter Benutzer das Repo klont, enthält das Projekt außerdem nur Zeiger auf die LFS-Objekte. Wie können sie die URL für die Fernbedienung finden/verwenden, wo die eigentlichen Dateien gespeichert sind?

(Wir verwenden Bitbucket und ein lokales System-Git für unser Repo.)

  • Ich bin mir nicht sicher, warum dies abgelehnt wurde. Ich habe alle Anforderungen für das Posten von Fragen überprüft und diese erfüllt alle. Es wurde auch noch nicht auf der Seite gepostet …

    – Bryan

    3. Oktober 2015 um 21:35 Uhr

  • deine tags sind ziemlich schlecht, bitbucket, atlassian und gitattibutes gehören hier nicht hin. stattdessen kann so etwas wie git-lfs hinzugefügt werden

    – max630

    4. Oktober 2015 um 5:30 Uhr

  • @max630 Ja, das habe ich zuerst versucht, aber ich nehme an, wenn Sie zum ersten Mal ein Konto erstellen, können Sie keine benutzerdefinierten Tags definieren. Ich habe mich mit relevanten Tags begnügt, die Leute mit relevanten Informationen anziehen würden. Ich bin mir also nicht sicher, ob ich das unbedingt als schlecht empfinden würde. Es sei denn, es gab bereits ein git-lfs-Tag, und ich glaube nicht, dass es eines gab, als ich die Frage stellte. Danke aber, das werde ich beim nächsten Mal berücksichtigen.

    – Bryan

    5. Oktober 2015 um 6:07 Uhr

  • Hinweis: BitBucket Cloud unterstützt jetzt LFS: stackoverflow.com/a/38450750/6309

    – VonC

    19. Juli 2016 um 6:15 Uhr

Die Git Lfs-Website sagt, dass sie auf einem Remote-Server gespeichert sind, aber ich kann nicht herausfinden, wo sich diese Informationen in unserem Repository befinden.

Sie werden nicht gespeichert in das Repository, zumindest im technischen Sinne. git-lfs fügt einen zweiten Bereich hinzu, den Speicherbereich für große Dateien, der ein Peer Ihres Repositorys ist. Dort werden die großen Dateien gespeichert.

Ich hätte erwartet, dass BitBucket diese Informationen sinnvoll auf ihrer Website präsentiert.

Wenn ein zweiter Benutzer das Repo klont, enthält das Projekt außerdem nur Zeiger auf die LFS-Objekte.

Sie müssen git-lfs installieren. Das ist das Programm, das für das Herunterladen und Hochladen des großen Dateiinhalts verantwortlich ist.

  • Es stellte sich heraus, dass die großen Dateien nie an den zweiten Bereich gesendet wurden. Danke, das hat sehr geholfen. (Zusammen mit dem Durchsuchen der Bitbucket-Einstellungen für eine Weile.)

    – Bryan

    5. Oktober 2015 um 6:13 Uhr

  • “git-lfs fügt einen zweiten Bereich hinzu, den Speicherbereich für große Dateien, der ein Peer Ihres Repositorys ist” Endlich! Eine sinnvolle Antwort. Ich danke dir sehr. Woher wissen Sie das? Können Sie einen Link oder eine Reihe von Git-Befehlen bereitstellen, die Ihre Antwort beweisen? Ich habe mir eine Stunde lang git-lfs-Dokumente angesehen und wo große Dateien abgelegt werden, fehlt auffällig. Wie fühlen sich die Menschen wohl, wenn sie nicht wissen, wohin ihre Dateien gegangen sind?

    – Jeff

    11. November 2016 um 13:03 Uhr

Der Git-LFS-Speicherserver wird von angegeben lfs.url Eigenschaft, zum Beispiel:

git config lfs.url https://github.com/foo/bar.git/info/lfs

Die Vorgabe (wann lfs.url nicht gesetzt ist) besteht darin, die Git-LFS-Server-URL von der URL der Remote abzuleiten, indem einige Heuristiken verwendet werden wie: [email protected]:foo/bar.git -> https://github.com/foo/bar.git/info/lfs

Sie können den aktuellen Server für jede Fernbedienung anzeigen mit:

git lfs env | grep Endpoint

Hinweis: Das aktuelle git-lfs (2.13.3) unterstützt nur HTTP/HTTPS und file:// Endpunktprotokolle, sodass Sie LFS-Objekte beispielsweise nicht über SSH auf einen Remote-Klon übertragen können. Eine Problemumgehung besteht darin, das Remote-Repository zu mounten sshfs und verwenden file://.

Benutzer-Avatar
max630

Soweit ich weiß, werden sie standardmäßig auf den Servern von Github gespeichert. Sie könnten dafür auch einen Server lokal einrichten (sie bieten API-Dokumentation und das, was sie “Referenzserverimplementierung” nennen) und den Server in der Git-Konfiguration angeben

  • Andere Git-Hosting-Anbieter neben GitHub unterstützen auch git-lfs, daher ist diese Antwort faktisch falsch. Die Antwort erklärt auch nicht, wo sich die Dateien befinden, wenn nicht in den Repos selbst. Siehe Edwards Antwort.

    – Jeff

    11. November 2016 um 13:08 Uhr

1216440cookie-checkWie kann angegeben werden, wo Git-LFS-Dateien gespeichert werden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy