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