Skip to main content

Настройка хранилища больших файлов Git для предприятия

Хранилище больших файлов Git (Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git)) — это расширение с открытым кодом для Git, которое позволяет работать с большими файлами так же, как и с другими текстовыми файлами.

Сведения о Хранилище больших файлов Git

Хранилище больших файлов Git (Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git)) — это расширение с открытым кодом для Git, которое позволяет работать с большими файлами так же, как и с другими текстовыми файлами. Вы можете использовать Хранилище больших файлов Git с одним репозиторием, всеми личными репозиториями или репозиториями организации либо с каждым репозиторием на предприятии. Прежде чем включить Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) для определенных репозиториев или организаций, необходимо включитьGit LFS (Git Large File Storage — поддержка хранения больших файлов в Git) для предприятия.

По умолчанию клиент Хранилище больших файлов Git хранит крупные ресурсы на том же сервере, где размещен репозиторий Git. Если Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) включен в ваш экземпляр GitHub Enterprise Server, большие ресурсы хранятся в разделе данных./data/user/storage

Пользователи не могут отправлять ресурсы Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) в GitHub , если Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) отключен в организации или репозитории.

Дополнительные сведения см. в разделе [AUTOTITLE, Сведения о хранилище больших файлов Git Large File Storage](/repositories/working-with-files/managing-large-files) и сайт проекта Хранилище больших файлов Git .

Настройка Хранилище больших файлов Git для предприятия

  1. В правом верхнем углу GitHub Enterprise Serverщелкните рисунок профиля, а затем выберите параметры Enterprise.
  2. В левой части страницы на боковой панели учетной записи предприятия щелкните Policies.
  3. В разделе Policies, нажмите кнопку "Параметры".
  4. В разделе "Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) access" выберите раскрывающееся меню и нажмите кнопку "Включено " или " Отключено".

Настройка Хранилище больших файлов Git для отдельного репозитория

Примечание.

Каждый репозиторий автоматически наследует параметры по умолчанию от организации или пользователя, которому он принадлежит. Переопределить параметр по умолчанию не удастся, если владелец репозитория принудительно установил этот параметр во всех своих репозиториях.

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .
  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
  3. В разделе "Поиск пользователей, организаций, команд, репозиториев, гистов и приложений" введите имя репозитория в текстовом поле. Затем справа от поля нажмите кнопку "Поиск".
    Снимок экрана: страница "Поиск" параметров "Администратор сайта". Кнопка поиска репозиториев с меткой "Поиск", описана.
  4. В разделе "Результаты поиска — репозитории" щелкните имя репозитория.
  5. В правом верхнем углу страницы щелкните Admin.
    Снимок экрана: заголовок страницы "Администратор сайта" для пользователя или репозитория. Вкладка "Администратор" выделена оранжевым контуром.
  6. На левой боковой панели нажмите кнопку "Администратор".
    Снимок экрана: левая боковая панель страницы "Администратор сайта". Параметр меню "Администратор" выделен оранжевым контуром.
  7. В разделе "Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git)" рядом с параметром "Переключить Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) и нажмите кнопку "Включить или отключить".

Настройка Хранилище больших файлов Git для каждого репозитория, принадлежащего учетной записи пользователя или организации

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .
  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.
  3. В разделе "Поиск пользователей, организаций, команд, репозиториев, гистов и приложений" введите имя пользователя или организации в текстовом поле. Затем справа от поля нажмите кнопку "Поиск".
    Снимок экрана: страница "Поиск" параметров "Администратор сайта". Описана кнопка поиска пользователей и организаций с меткой "Поиск".
  4. В результатах поиска щелкните имя пользователя или организации.
    Снимок экрана: результаты поиска "Учетные записи". В списке совпадений "user1" выделен оранжевый контур.
  5. В правом верхнем углу страницы щелкните Admin.
    Снимок экрана: заголовок страницы "Администратор сайта" для пользователя или репозитория. Вкладка "Администратор" выделена оранжевым контуром.
  6. На левой боковой панели нажмите кнопку "Администратор".
    Снимок экрана: левая боковая панель страницы "Администратор сайта". Параметр меню "Администратор" выделен оранжевым контуром.
  7. В разделе "Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git)" рядом с параметром "Переключить Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) и нажмите кнопку "Включить или отключить".

Настройка хранилища больших файлов Git для использования стороннего сервера

По умолчанию клиент Хранилище больших файлов Git хранит крупные ресурсы на том же сервере, где размещен репозиторий Git. Если Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) включен в ваш экземпляр GitHub Enterprise Server, большие ресурсы хранятся в разделе данных./data/user/storage

Пользователи не могут отправлять ресурсы Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) в GitHub , если Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) отключен в организации или репозитории.

  1. Отключите Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) на ваш экземпляр GitHub Enterprise Server. Дополнительные сведения см. в статье "Настройка данных Хранилище больших файлов Git для вашего предприятия.

  2. Создайте файл конфигурации Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git), указывающий на сторонний сервер.

    # 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
    
  3. Чтобы сохранить одну и ту же конфигурацию Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) для каждого пользователя, зафиксируйте пользовательский файл .lfsconfig в репозитории.

    git add .lfsconfig
    git commit -m "Adding LFS config file"
    
  4. Перенесите существующие ресурсы Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git). Дополнительные сведения см. в статье "Миграция на другой сервер Хранилище больших файлов Git .

Миграция на другой сервер хранилища больших файлов Git

Перед миграцией на другой сервер Хранилище больших файлов Git необходимо настроить Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git) для использования стороннего сервера. Дополнительные сведения см. в статье "Настройка Хранилище больших файлов Git для использования стороннего сервера.

  1. Настройте репозиторий с помощью второго удаленного репозитория.

    $ 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)
    
  2. Извлеките все объекты из старого удаленного репозитория.

    $ 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
    
  3. Отправьте все объекты в новый удаленный репозиторий.

    $ 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
    

Дополнительные материалы

  •         [Сайт проекта Хранилище больших файлов Git](https://git-lfs.com/)