Informationen zu Git Large File Storage
Git Large File Storage (Git LFS) ist eine Open-Source-Erweiterung zu Git, mit der Sie große Dateien auf dieselbe Weise wie andere Textdateien verwenden können. Du kannst Git Large File Storage mit einem einzelnen Repository, mit allen persönlichen oder Organisationsrepositorys oder mit allen Repositorys in deinem Unternehmen verwenden. Bevor du Git LFS für bestimmte Repositorys oder Organisationen aktivieren kannst, musst du Git LFS für dein Unternehmen aktivieren.
Der Git Large File Storage-Client speichert standardmäßig große Ressourcen auf dem gleichen Server, auf dem das Git-Repository gehostet wird. Wenn Git LFS auf Ihre GitHub Enterprise Server-Instance aktiviert ist, werden große Ressourcen in der Datenpartition in /data/user/storage
gespeichert.
Benutzer können Git LFS-Assets nicht per Pushvorgang an GitHub Enterprise Server übertragen, wenn Git LFS für das Unternehmen oder Repository deaktiviert ist.
Weitere Informationen findest du unter Informationen zu Git Large File Storage, Große Dateien verwalten und auf der Git Large File Storage-Projektseite.
Konfigurieren von Git Large File Storage für dein Unternehmen
-
Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.
-
Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien
-
Klicke unter Richtlinien auf Optionen.
-
Wähle das Dropdownmenü unter „Git LFS-Zugriff“ aus, und klicke auf Aktiviert oder Deaktiviert.
Git Large File Storage für ein einzelnes Repository konfigurieren
Note
Jedes Repository erbt automatisch die Standardeinstellungen von der Organisation oder dem Benutzer, der bzw. dem es gehört. Du kannst die Standardeinstellung nicht überschreiben, wenn die Repository-Inhaber die Einstellung für alle ihre Repositorys erzwungen haben.
- Klicke in einem Verwaltungskonto auf GitHub Enterprise Server und dann in der rechten oberen Ecke einer beliebigen Seite auf „“.
- Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.
- Gib unter „Benutzer, Organisationen, Teams, Repositorys, Gists und Anwendungen durchsuchen“ den Namen des Repositorys in das Textfeld ein. Wähle dann rechts neben dem Feld die Option Suchen aus.
- Wähle unter „Suchergebnisse: Repositorys“ den Namen des Repositorys aus.
- Wähle in der rechten oberen Ecke der Seite die Option Administrator aus.
- Wähle auf der linken Randleiste die Option Administrator aus.
- Klicke im Abschnitt „Git LFS“ neben „Git LFS-Zugriff umschalten“ auf Aktivieren oder Deaktivieren.
Git Large File Storage für jedes einem Benutzerkonto oder einer Organisation gehörende Repository konfigurieren
- Klicke in einem Verwaltungskonto auf GitHub Enterprise Server und dann in der rechten oberen Ecke einer beliebigen Seite auf „“.
- Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.
- Gib unter „Benutzer, Organisationen, Teams, Repositorys, Gists und Anwendungen durchsuchen“ den Namen des Benutzers bzw. der Benutzerin oder den Organisationsnamen in das Textfeld ein. Wähle dann rechts neben dem Feld die Option Suchen aus.
- Klicke in den Suchergebnissen auf den Namen des Benutzers oder der Organisation.
- Wähle in der rechten oberen Ecke der Seite die Option Administrator aus.
- Wähle auf der linken Randleiste die Option Administrator aus.
- Klicke im Abschnitt „Git LFS“ neben „Git LFS-Zugriff umschalten“ auf Aktivieren oder Deaktivieren.
Git Large File Storage zur Verwendung eines Drittanbieterservers konfigurieren
Der Git Large File Storage-Client speichert standardmäßig große Ressourcen auf dem gleichen Server, auf dem das Git-Repository gehostet wird. Wenn Git LFS auf Ihre GitHub Enterprise Server-Instance aktiviert ist, werden große Ressourcen in der Datenpartition in /data/user/storage
gespeichert.
Benutzer können Git LFS-Assets nicht per Pushvorgang an GitHub Enterprise Server übertragen, wenn Git LFS für das Unternehmen oder Repository deaktiviert ist.
-
Deaktiviere Git LFS auf Ihre GitHub Enterprise Server-Instance. Weitere Informationen findest du unter Konfigurieren von Git Large File Storage für dein Unternehmen.
-
Erstelle 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
-
Committe eine benutzerdefinierte
.lfsconfig
-Datei an das Repository, um dieselbe Git LFS-Konfiguration für alle Benutzer*innen beizubehalten.git add .lfsconfig git commit -m "Adding LFS config file"
-
Migriere vorhandene Git LFS-Assets. Weitere Informationen findest du unter Migration zu einem anderen Git Large File Storage-Server.
Zu einem anderen Git Large File Storage-Server migrieren
Bevor du eine Migration zu einem anderen Git Large File Storage-Server durchführst, musst du Git LFS für die Verwendung eines Drittanbieterservers konfigurieren. Weitere Informationen findest du unter Konfigurieren von Git Large File Storage für die Verwendung eines Drittanbieterservers.
-
Konfiguriere 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)
-
Rufe 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
-
Übertrage 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