Informationen zu Git Large File Storage
Git Large File Storage (Git LFS) ist eine Open-Source-Erweiterung zu Git, mit der Du große Dateien auf dieselbe Weise wie andere Textdateien verwenden kannst. Sie können Git Large File Storage mit einem einzelnen Repository, mit allen Ihren persönlichen oder Organisations-Repositorys oder mit jedem Repository in Ihre GitHub Enterprise Server-Instanz verwenden. Bevor Sie Git LFS für bestimmte Repositorys oder Organisationen aktivieren können, müssen Sie Git LFS für Ihre Appliance aktivieren.
Der Git Large File Storage-Client speichert standardmäßig große Objekte auf dem gleichen Server, auf dem das Git-Repository gehostet wird. Wenn Git LFS auf der GitHub Enterprise Server-Appliance, aktiviert ist, werden große Objekte auf der Datenpartition in /data/user/storage
gespeichert.
Benutzer können Git LFS-Objekte nicht nach GitHub Enterprise Server verschieben, wenn Git LFS auf der Appliance oder im Repository deaktiviert ist.
Weitere Informationen finden Sie unter „Informationen zu Git Large File Storage“, „Versionierung von großen Dateien“ und auf der „Git Large File Storage-Projektwebsite“.
Git Large File Storage für Ihre Appliance konfigurieren
- Klicke in der oberen rechten Ecke einer beliebigen Seite auf .
- Klicken Sie auf der linken Seitenleiste auf Enterprise.
- Klicke in der Seitenleiste des Enterprise-Kontos auf Settings (Einstellungen).
- Klicken Sie unter „Settings“ (Einstellungen) auf Options (Optionen).
- Verwenden Sie unter „Git LFS access“ (Git LFS-Zugriff) das Dropdownmenü, und klicken Sie auf Enabled (Aktiviert) oder Disabled (Deaktiviert).
Git Large File Storage für ein einzelnes Repository konfigurieren
Hinweis: Jedes Repository erbt automatisch die Standardeinstellungen von der Organisation oder dem Benutzer, der es gehört. Du kannst die Standardeinstellung nicht überschreiben, wenn die Repository-Inhaber die Einstellung für alle ihre Repositorys erzwungen haben.
- Klicke in der oberen rechten Ecke einer beliebigen Seite auf .
- Gib im Suchfeld den Namen des Repository ein und klicke auf Search (Suche).
- Klicke in den Suchergebnissen auf den Namen des Repository.
- Klicke in der oberen rechte Ecke der Seite auf Admin.
- Klicke auf der linken Seitenleiste auf Admin.
- Unter „Git LFS", klicke auf Enable (Aktivieren) oder Disable (Deaktivieren).
Git Large File Storage für jedes einem Benutzerkonto oder einer Organisation gehörende Repository konfigurieren
- Klicke in der oberen rechten Ecke einer beliebigen Seite auf .
- Gib im Suchfeld den Namen des Benutzers oder der Organisation ein, und klicke auf Search (Suchen).
- Klicke in den Suchergebnissen auf den Namen des Benutzers oder der Organisation.
- Klicke in der oberen rechte Ecke der Seite auf Admin.
- Klicke auf der linken Seitenleiste auf Admin.
- Unter „Git LFS", klicke auf Enable (Aktivieren) oder Disable (Deaktivieren).
Git Large File Storage zur Verwendung eines Drittanbieterservers konfigurieren
Der Git Large File Storage-Client speichert standardmäßig große Objekte auf dem gleichen Server, auf dem das Git-Repository gehostet wird. Wenn Git LFS auf der GitHub Enterprise Server-Appliance, aktiviert ist, werden große Objekte auf der Datenpartition in /data/user/storage
gespeichert.
Benutzer können Git LFS-Objekte nicht nach GitHub Enterprise Server verschieben, wenn Git LFS auf der Appliance oder im Repository deaktiviert ist.
-
Deaktivieren Sie Git LFS auf der GitHub Enterprise Server-Appliance. Weitere Informationen finden Sie unter „Git Large File Storage konfigurieren“.
-
Erstellen Sie eine Git LFS-Konfigurationsdatei, die auf den Drittanbieterserver verweist.
# Show default configuration $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) # Create .lfsconfig that points to third party server. $ git config -f .lfsconfig remote.origin.lfsurl https://THIRD-PARTY-LFS-SERVER/path/to/repo $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://THIRD-PARTY-LFS-SERVER/path/to/repo/info/lfs (auth=none) # Show the contents of .lfsconfig $ cat .lfsconfig [remote "origin"] lfsurl = https://THIRD-PARTY-LFS-SERVER/path/to/repo
-
Committen Sie eine benutzerdefinierte
.lfsconfig
-Datei an das Repository, um dieselbe Git LFS-Konfiguration für jeden Benutzer beizubehalten.$ git add .lfsconfig $ git commit -m "Adding LFS config file"
-
Migrieren Sie vorhandene Git LFS-Assets. For more information, see "Migrating to a different Git Large File Storage server."
Zu einem anderen Git Large File Storage-Server migrieren
Bevor Sie eine Migration zu einem anderen Git Large File Storage-Server durchführen, müssen Sie Git LFS für die Verwendung eines Drittanbieterservers konfigurieren. For more information, see "Configuring Git Large File Storage to use a third party server."
-
Konfigurieren Sie das Repository mit einer zweiten Remote-Instanz.
$ git remote add NEW-REMOTE https://NEW-REMOTE-HOSTNAME/path/to/repo $ git lfs env > git-lfs/1.1.0 (GitHub; darwin amd64; go 1.5.1; git 94d356c) > git version 2.7.4 (Apple Git-66) > Endpoint=https://GITHUB-ENTERPRISE-HOST/path/to/repo/info/lfs (auth=basic) > Endpoint (NEW-REMOTE)=https://NEW-REMOTE-HOSTNAME/path/to/repo/info/lfs (auth=none)
-
Rufen Sie alle Objekte von der alten Remote-Instanz ab.
$ git lfs fetch origin --all > Scanning for all objects ever referenced... > ✔ 16 objects found > Fetching objects... > Git LFS: (16 of 16 files) 48.71 MB / 48.85 MB
-
Übertragen Sie alle Objekte per Push-Vorgang auf die neue Remote-Instanz.
$ git lfs push NEW-REMOTE --all > Scanning for all objects ever referenced... > ✔ 16 objects found > Pushing objects... > Git LFS: (16 of 16 files) 48.00 MB / 48.85 MB, 879.10 KB skipped