Сведения о Хранилище больших файлов Git
Хранилище больших файлов Git (Git LFS) — это расширение с открытым кодом для Git, которое позволяет работать с большими файлами так же, как и с другими текстовыми файлами. Вы можете использовать Хранилище больших файлов Git с одним репозиторием, всеми личными репозиториями или репозиториями организации либо с каждым репозиторием на предприятии. Прежде чем включить Git LFS для определенных репозиториев или организаций, необходимо включитьGit LFS для предприятия.
По умолчанию клиент Хранилище больших файлов Git хранит крупные ресурсы на том же сервере, где размещен репозиторий Git. Если Git LFS включен в экземпляр GitHub Enterprise Server, большие ресурсы хранятся в секции данных в /data/user/storage
.
Пользователи не могут отправлять ресурсы Git LFS в GitHub Enterprise Server, если Git LFS отключен на предприятии или в репозитории.
Дополнительные сведения см. в разделах Сведения о хранилище больших файлов Git Large File Storage, Управление большими файлами и сайт проекта Хранилище больших файлов Git.
Настройка Хранилище больших файлов Git для предприятия
-
В правом верхнем углу GitHub Enterprise Server щелкните фотографию профиля и выберите Параметры предприятия.
-
На боковой панели корпоративной учетной записи щелкните Политики. 1. В разделе Политики нажмите Параметры.
-
В разделе "Доступ кGit LFS выберите раскрывающееся меню и щелкните Включено или Отключено.
Настройка Хранилище больших файлов Git для отдельного репозитория
Примечание. Каждый репозиторий автоматически наследует параметры по умолчанию от организации или пользователя, которым он принадлежит. Переопределить параметр по умолчанию не удастся, если владелец репозитория принудительно установил этот параметр во всех своих репозиториях.
- В учетной записи администратора GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
- Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта. 1. В разделе "Поиск пользователей, организаций, команд, репозиториев, gist и приложений" введите имя репозитория в текстовом поле. Затем справа от поля нажмите кнопку Поиск.
1. В разделе "Результаты поиска — репозитории" щелкните имя репозитория. 1. В правом верхнем углу страницы щелкните Администратор. 1. На левой боковой панели щелкните Администратор. 1. В разделе "Git LFS" рядом с пунктом "Переключить доступ к Git LFS щелкните Включить или Отключить.
Настройка Хранилище больших файлов Git для каждого репозитория, принадлежащего учетной записи пользователя или организации
- В учетной записи администратора GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
- Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта. 1. В разделе "Поиск пользователей, организаций, команд, репозиториев, gist и приложений" введите имя пользователя или организации в текстовом поле. Затем справа от поля нажмите кнопку Поиск.
1. В результатах поиска щелкните имя пользователя или организации. 1. В правом верхнем углу страницы щелкните Администратор. 1. На левой боковой панели щелкните Администратор. 1. В разделе "Git LFS" рядом с пунктом "Переключить доступ к Git LFS щелкните Включить или Отключить.
Настройка хранилища больших файлов Git для использования стороннего сервера
По умолчанию клиент Хранилище больших файлов Git хранит крупные ресурсы на том же сервере, где размещен репозиторий Git. Если Git LFS включен в экземпляр GitHub Enterprise Server, большие ресурсы хранятся в секции данных в /data/user/storage
.
Пользователи не могут отправлять ресурсы Git LFS в GitHub Enterprise Server, если Git LFS отключен на предприятии или в репозитории.
-
Отключите Git LFS в экземпляр GitHub Enterprise Server. Дополнительные сведения см. в статье "Настройка Хранилище больших файлов Git для предприятия".
-
Создайте файл конфигурации 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".
Миграция на другой сервер хранилища больших файлов Git
Перед миграцией на другой сервер Хранилище больших файлов Git необходимо настроить Git LFS для использования стороннего сервера. Дополнительные сведения см. в статье "Настройка Хранилище больших файлов Git для использования стороннего сервера".
-
Настройте репозиторий с помощью второго удаленного репозитория.
$ 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