Сведения о Git Large File Storage
Git Large File Storage (Git LFS) — это расширение с открытым кодом для Git, которое позволяет работать с большими файлами так же, как и с другими текстовыми файлами. Вы можете использовать Git Large File Storage с одним репозиторием, всеми личными репозиториями или репозиториями организации либо с каждым репозиторием на предприятии. Прежде чем включить Git LFS для определенных репозиториев или организаций, необходимо включитьGit LFS для предприятия.
По умолчанию клиент Git Large File Storage хранит крупные ресурсы на том же сервере, где размещен репозиторий Git. Если Git LFS включен в your GitHub Enterprise Server instance, большие ресурсы хранятся в секции данных в /data/user/storage
.
Пользователи не могут отправлять ресурсы Git LFS в GitHub Enterprise Server, если Git LFS отключен на предприятии или в репозитории.
Дополнительные сведения см. в статьях "Сведения о Git Large File Storage", "Управление версиями больших файлов", а также на сайте проекта Git Large File Storage.
Настройка Git Large File Storage для предприятия
- В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.
1. На боковой панели корпоративной учетной записи нажмите Политики .
1. В разделе Политики нажмите Параметры.
- В разделе "Доступ к Git LFS" воспользуйтесь раскрывающимся меню и щелкните Включено или Отключено.
Настройка Git Large File Storage для отдельного репозитория
Примечание. Каждый репозиторий автоматически наследует параметры по умолчанию от организации или пользователя, которым он принадлежит. Переопределить параметр по умолчанию не удастся, если владелец репозитория принудительно установил этот параметр во всех своих репозиториях.
-
Из учетной записи администратора на GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
-
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
1. В поле поиска введите имя репозитория и нажмите кнопку Найти.
1. В результатах поиска щелкните имя репозитория.
1. В правом верхнем углу страницы щелкните Администрирование.
1. На боковой панели слева выберите Администратор.
1. В разделе "Git LFS" нажмите кнопку Включить или Отключить.
Настройка Git Large File Storage для каждого репозитория, принадлежащего учетной записи пользователя или организации
-
Из учетной записи администратора на GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
-
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
1. В поле поиска введите имя пользователя или название организации и нажмите кнопку Найти.
1. В результатах поиска щелкните имя пользователя или организации.
1. В правом верхнем углу страницы щелкните Администрирование.
1. На боковой панели слева выберите Администратор.
1. В разделе "Git LFS" нажмите кнопку Включить или Отключить.
Настройка хранилища больших файлов Git для использования стороннего сервера
По умолчанию клиент Git Large File Storage хранит крупные ресурсы на том же сервере, где размещен репозиторий Git. Если Git LFS включен в your GitHub Enterprise Server instance, большие ресурсы хранятся в секции данных в /data/user/storage
.
Пользователи не могут отправлять ресурсы Git LFS в GitHub Enterprise Server, если Git LFS отключен на предприятии или в репозитории.
-
Отключите Git LFS в your GitHub Enterprise Server instance. Дополнительные сведения см. в статье "Настройка Git Large File Storage для предприятия".
-
Создайте файл конфигурации Git LFS, указывающий на сторонний сервер.
# 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
-
Чтобы сохранить одну и ту же конфигурацию Git LFS для каждого пользователя, зафиксируйте пользовательский файл
.lfsconfig
в репозитории.$ git add .lfsconfig $ git commit -m "Adding LFS config file"
-
Перенесите существующие ресурсы Git LFS. Дополнительные сведения см. в статье "Миграция на другой сервер Git Large File Storage".
Миграция на другой сервер хранилища больших файлов Git
Перед миграцией на другой сервер Git Large File Storage необходимо настроить Git LFS для использования стороннего сервера. Дополнительные сведения см. в статье "Настройка Git Large File Storage для использования стороннего сервера".
-
Настройте репозиторий с помощью второго удаленного репозитория.
$ 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)
-
Извлеките все объекты из старого удаленного репозитория.
$ 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
-
Отправьте все объекты в новый удаленный репозиторий.
$ 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