Ich habe kürzlich an einem Projekt gearbeitet, bei dem ich mit hochauflösenden Assets arbeiten musste, die daher sehr groß waren. Ich konnte die Dateien nicht in mein Repository übertragen. Wann immer ich es versuchte, erhielt ich die folgende Fehlermeldung:
remote: Fehler: Datei file.csv ist 182,47 MB; Dies überschreitet die Dateigrößenbeschränkung von GitHub von 100,00 MB
remote: Fehler: GH001: Große Dateien erkannt. Vielleicht möchten Sie Git Large File Storage ausprobieren – https://git-lfs.github.com.
Lassen Sie uns nun über die Git-Erweiterung Git LFS und deren Verwendung sprechen.
Git Large File Storage (LFS) ist eine Git-Erweiterung, die entwickelt wurde, um große Dateien in Ihrem Repository effizienter zu verarbeiten.
1. Was ist Git?
Git ist ein Versionskontrollsystem, mit dem Sie Änderungen an Ihrem Code verfolgen und mit anderen zusammenarbeiten können. Normalerweise speichert Git den gesamten Inhalt (Dateien, Code usw.) direkt in Ihrem Repository, einschließlich aller Bilder, Videos oder großen Binärdateien.
2. Warum brauchen wir Git LFS?
Standardmäßig speichert Git alles, aber große Dateien wie hochauflösende Bilder, Videos oder Datensätze können Ihr Repository sehr groß und langsam machen. Jedes Mal, wenn Sie Änderungen per Push oder Pull durchführen, lädt Git alle Daten herunter, was Zeit kostet und mehr Speicherplatz auf Ihrem Computer beansprucht.
Git LFS wurde entwickelt, um diese großen Dateien effizienter zu verarbeiten, indem:
Große Dateien separat speichern: Anstatt große Dateien direkt in Ihrem Repository zu speichern, ersetzt Git LFS sie durch Zeiger (kleine Referenzen). Die eigentliche Datei wird außerhalb Ihres Repositorys an einem separaten Ort gespeichert.
Das Repo schlank halten: Auf diese Weise bleibt Ihr Repository kompakt und schnell, da Git die großen Dateien nur dann herunterlädt, wenn Sie sie benötigen.
3.Wie funktioniert Git LFS?
Wenn Sie eine große Datei (z. B. ein Video oder Bild) zu Ihrem Repository hinzufügen, ersetzt Git LFS sie durch eine kleine Zeigerdatei.
Die Zeigerdatei teilt Git LFS mit, wo die große Datei tatsächlich gespeichert ist.
Wenn jemand anderes Ihr Repository klont oder Änderungen abruft, erhält er die Zeigerdatei anstelle der großen Datei selbst, es sei denn, er ruft die großen Dateien explizit ab.
4. Erste Schritte mit Git LFS
Um Git LFS in Ihrem Projekt zu verwenden, befolgen Sie diese Schritte:
1. Git LFS installieren: Sie müssen Git LFS auf Ihrem Computer installieren. Bei den meisten Systemen erfolgt dies durch Ausführen von:
git lfs install
2. Große Dateien verfolgen: Nach der Installation müssen Sie Git LFS mitteilen, welche Dateien verfolgt werden sollen (z. B. alle .png-Dateien oder _.mp4-Dateien). Dies geschieht mit dem Befehl git lfs track:
git lfs track "*.png"
Dies weist Git LFS an, alle Dateien zu verfolgen, die mit .png.
enden.3. Übernehmen Sie die Änderungen: Nach der Ausführung des Befehls „track“ erstellt Git LFS eine .gitattributes-Datei, die die Regeln definiert, welche Dateien verfolgt werden sollen. Sie müssen diese Datei in Ihr Repository übertragen:
git add .gitattributes git commit -m "Track large files using Git LFS"
4. Große Dateien hinzufügen und übertragen: Wenn Sie jetzt eine große Datei hinzufügen (z. B. ein Video oder Bild), verwaltet Git LFS diese automatisch:
git add largefile.mp4 git commit -m "Add large video file" git push
Notiz
Stellen Sie sicher, dass Sie LFS initialisiert und eingerichtet haben, bevor Sie Ihre großen Dateien festschreiben. Andernfalls würde Git LFS die Datei beim Übertragen nicht verfolgen. Und Sie würden weiterhin den Fehler wie zuvor erhalten. Ich bin auch auf dieses Problem gestoßen, als ich zum ersten Mal die Git-LFS-Erweiterung verwendet habe.
5. Große Dateien abrufen:
Wenn jemand Ihr Repository klont oder abruft, erhält er standardmäßig die kompakten Zeigerdateien. Wenn sie die wirklich großen Dateien haben möchten, können sie diese mit folgendem Befehl herunterziehen:
git lfs pull
6. Vorteile von Git LFS
Beschleunigt Git-Vorgänge: Ihr Repository bleibt schnell, da Git große Dateien nicht direkt verarbeiten muss.
Reduziert den Speicherverbrauch: Große Dateien werden separat gespeichert, was die Größe Ihres Repositorys reduziert.
Effiziente Zusammenarbeit: Bei Bedarf werden nur die nötigen großen Dateien heruntergeladen.
7. Nachteile von Git LFS
Speicherbeschränkungen: Einige Plattformen (wie GitHub) bieten begrenzten kostenlosen Speicher für LFS, und Sie müssen möglicherweise für zusätzlichen Speicher bezahlen, wenn Sie viele große Dateien haben.
Langsamere Pulls bei großen Dateien: Wenn Sie viele große Dateien haben und diese alle auf einmal herunterladen, kann es dennoch einige Zeit dauern, obwohl Git LFS dies im Vergleich zu regulärem Git optimiert.
Fügen Sie gerne Kommentare oder Fragen hinzu. Ich antworte ihnen gerne
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3