Heim >Entwicklungswerkzeuge >Idiot >Wie man mit zu großen Git-Dateien umgeht

Wie man mit zu großen Git-Dateien umgeht

WBOY
WBOYOriginal
2023-05-17 09:57:363048Durchsuche

Bei der Verwendung von Git zur Dateiversionskontrolle kann es manchmal vorkommen, dass Dateien zu groß sind. Wenn die Datei zu groß ist, kann es zu Problemen wie einer langsameren Git-Ausführungsgeschwindigkeit, einer erhöhten Speichernutzung oder sogar einem Fehler beim Hochladen der Git-Übermittlung kommen. In diesem Artikel werden verschiedene Möglichkeiten zum Umgang mit zu großen Git-Dateien vorgestellt.

1. Verwendung von Git LFS

Git Large File Storage (kurz Git LFS) ist eine Erweiterung von Git, die speziell zur Verarbeitung großer Dateien verwendet wird. Mit Git LFS speichert Git Dateien nicht mehr in einem Repository, sondern verknüpft sie stattdessen mit einem bestimmten Repository. Mit dieser Methode kann eine übermäßig große Versionsbibliothek vermieden werden, die durch zu viele große Dateien verursacht wird, wodurch die Leistung des Git-Vorgangs verbessert wird.

Als Nächstes stellen wir die Verwendung von Git LFS vor:

  1. Verwenden Sie Homebrew, um das Git-LFS-Tool auf dem Mac zu installieren:

brew install git-lfs

  1. Führen Sie den Befehl „git lfs install“ aus, um Git LFS zu konfigurieren:

git lfs install

  1. Verwenden Sie den Befehl git lfs track im Git-Repository, das von Git LFS verwaltet werden muss, um die großen Dateitypen anzugeben, die verwaltet werden müssen. Mit dem folgenden Befehl werden beispielsweise Bilddateien mit PNG-Erweiterungen zur Verwaltung an Git LFS übergeben.

git lfs track „*.png“

  1. Übernehmen Sie Änderungen in Git und verwenden Sie den Befehl „git lfs push“, um große Dateien hochzuladen, die in Git LFS verwaltet werden.

git lfs push origin master

  1. Verwenden Sie abschließend den Befehl git lfs fetch in Git, um die in Git LFS verwalteten Dateien lokal herunterzuladen.

2. Git Annex verwenden

Git Annex ist eine weitere Erweiterung von Git und wird auch zur Verwaltung großer Dateien verwendet. Doch im Gegensatz zu Git LFS wird Git Annex nicht die ursprüngliche Git-Dateiverwaltung ersetzen, sondern als Ergänzung zur Git-Dateiverwaltung dienen. Große Dateien, die von Git Annex verwaltet werden, werden nicht in das lokale Git-Repository heruntergeladen, sondern auf der lokalen Festplatte gespeichert und ein Zeiger auf die große Datei wird im Git-Repository gespeichert.

So verwenden Sie Git Annex:

  1. Verwenden Sie Homebrew, um das Git-Annex-Tool auf dem Mac zu installieren:

brew install git-annex

  1. Initialisieren Sie im Git-Repository, das von Git Annex verwaltet werden muss:

git Annex Init

  1. Fügen Sie Dateien hinzu, die verwaltet werden müssen, zu Git Annex:

git Annex add large_file.mp4

  1. Senden Sie die Datei an Git Repository:

git commit -m "add large_file.mp4 „

  1. Wenn Sie eine Datei herunterladen müssen, verwenden Sie den Befehl „git Annex Get“:

git Annex Get Large_File.mp4

3. Verwenden Sie Git Repack, um das Repository zu komprimieren

Zusätzlich zur Verwendung von Git LFS und Git Annex und andere Tools zum Verwalten großer Dateien. Wir können auch versuchen, das mit Git gelieferte Repack-Tool zu verwenden, um das Repository zu komprimieren und die Größe des Repositorys zu reduzieren. So verwenden Sie das Repack-Tool:

  1. Führen Sie den folgenden Befehl in Git aus:

git repack

  1. Wenn Sie die Dateien im Verlauf komprimieren möchten, können Sie es wie folgt ausführen:

git repack - a -d

  1. Dadurch wird eine brandneue Packdatei generiert, alle unkomprimierten Objekte werden darin neu gepackt und doppelte Dateien werden automatisch entfernt, wodurch die Größe der Verlaufsdatei reduziert wird. Wenn Sie die komprimierte Packdatei auf den Git-Server hochladen müssen, können Sie den folgenden Befehl verwenden:

git gc

4. Git BFG verwenden

Git BFG ist die Abkürzung für Git Backup Filter und ist ein einfacher und praktischer Git-Tool. Es basiert auf dem offiziellen Git-Tool und kann Git-Benutzern dabei helfen, Git-Versionskontrollbibliotheken besser zu verwalten. Mithilfe von Git BFG können Sie einige nutzlose Dateien und Verlaufsdatensätze in Ihrem Git-Versionskontroll-Repository einfacher löschen. Im Folgenden finden Sie eine Einführung in die Verwendung von Git BFG.

  1. Verwenden Sie Homebrew auf dem Mac, um Git BFG lokal zu installieren:

brew install bfg

  1. Verwenden Sie bfg 命令来删除不需要的文件。注意替换 file-to-remove im Git-Repository als Dateinamen, der gelöscht werden muss:

bfg --delete - Dateien zu entfernende Datei

  1. Führen Sie den folgenden Befehl aus, um die Dateien im Repository dauerhaft aus dem Verlauf zu löschen. In diesem Schritt werden Dateien, die „zu entfernende Datei“ enthalten, im Verlauf aufgezeichnet, sodass sie vollständig gelöscht werden können:

git reflog expire --expire=now --all && git gc --prune=now -- aggressiv

  1. Verwenden Sie abschließend den folgenden Befehl, um den lokalen Zweig und den Remote-Zweig zu synchronisieren:

git push origin --force

Zusammenfassung:

Für das Problem zu großer Git-Dateien können wir Git LFS, Git verwenden Annex, Git Repack und Git BFG und andere Verarbeitungsmethoden. Diese Tools werden uns alle helfen, wir müssen nur entsprechend der tatsächlichen Situation und den Bedürfnissen auswählen. Wenn Sie häufig mit dem Problem zu großer Git-Dateien konfrontiert sind, empfehlen wir Ihnen, die oben beschriebenen Methoden auszuprobieren.

Das obige ist der detaillierte Inhalt vonWie man mit zu großen Git-Dateien umgeht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn